연속된 공백을 탭으로 바꾸는 방법

연속된 공백을 탭으로 바꾸는 방법

df -h다음과 같은 결과를 제공합니다

연속된 모든 공백을 각 행의 탭으로 바꾸려고 했습니다. 그래서 나는 이런 명령을 실행합니다.

df -h|sed 's/ +/\t/g'

그런데 왜 안되는지 모르겠네요..

답변1

연속된 모든 공백을 탭으로 변환하려면 다음 명령을 사용할 수 있습니다. (저는 우분투에서 sed 버전을 사용하고 있습니다 4.2.1-9)

주문하다: $ df -h | tr -s " " | sed 's/\s/\t/g'

산출:

Filesystem  Size    Used    Avail   Use%    Mounted on
/dev/xvda1  9.8G    4.5G    5.2G    46% /
udev    3.7G    12K 3.7G    1%  /dev
tmpfs   748M    360K    748M    1%  /run
none    5.0M    0   5.0M    0%  /run/lock
none    3.7G    0   3.7G    0%  /run/shm
  • tr -s " "첫째, 모든 공간이 하나의 공간으로 압축됩니다.
  • sed 's/\s/\t/g모든 단일 공백을 탭으로 바꾸십시오.

관련 정보