명령 출력에서 ​​중요하지 않은 문자 제거

명령 출력에서 ​​중요하지 않은 문자 제거

내 Linux 시스템의 version 명령은 다음 출력을 보여줍니다.

version


Red.Hat.OS. release..........5.5
APP.Release.............4.2.0.0-02

중간을 제거하는 방법 "." 점 문자를 매개변수에서 제거하지 않고 다음과 같이 표시합니다.

 version | .......


 Red.Hat.OS. release          5.5
 APP.Release version         4.2.0.0-02
  • 매개변수의 설명 문자 사이에는 점 문자가 하나만 있을 수 있습니다.

답변1

  • >1의 첫 번째 항목을 TAB로 바꿉니다 ..sed 's/\.\.\+/\t/'
  • .>1의 모든 항목을 TAB으로 바꿉니다. sed 's/\.\.\+/\t/g'/awk -F"[.][.]+" -vOFS="\t" '($1=$1)||1'
  • .>1 다음에 숫자 가 나오는 첫 번째 항목을 TAB으로 바꿉니다.sed 's/\.\.\+\([[:digit:]]\)/\t\1/'
  • .>1 뒤에 숫자가 오는 모든 항목을 TAB: sed 's/\.\.\+\([[:digit:]]\)/\t\1/g'/ 로 바꿉니다.gawk -vRS="[.][.]+[[:digit:]]" '(ORS=(RT?"\t"substr(RT,length(RT)):""))||1'

이 모든 명령은 주어진 입력에 대해 원하는 출력을 반환합니다.

설명 및/또는 조정을 요청하시기 바랍니다.

관련 정보