확장 명령이 작동하지 않습니다

확장 명령이 작동하지 않습니다

확장 명령을 사용하여 모든 탭 문자를 공백으로 변환하려고 합니다.

주문하다: cat department.txt

산출:

1           QA 
2           DEV
3           OPS

확장된 Department.txt를 실행할 때 출력은 동일하게 유지됩니다.

내 파일에 탭 문자가 포함되어 있는지 확인하기 위해 od -c를 사용했습니다. 확장 프로그램이 작동하지 않는 이유를 설명할 수 있는 사람이 있나요?

업데이트: 아래 설명에서 Mulu가 지적했듯이 확장 명령에 대해 잘못된 예상이 있었기 때문에 탭 문자가 단일 공백으로 변환될 것으로 예상했습니다. Expand 명령은 탭 문자를 해당 공백으로 변환합니다.

답변1

탭을 단일 공백으로 변환하려면 여전히 를 사용하고 expand탭 정지를 기본값 8 대신 1로 설정할 수 있습니다.

$ expand foo
1       QA
2       DEV
3       OPS
$ expand -t1 foo
1 QA
2 DEV
3 OPS

그러나 이렇게 하면 연속된 탭이 별도의 공간으로 계속 확장됩니다.

$ vim foo
$ expand foo
1               QA
2               DEV
3               OPS
$ expand -t1 foo
1  QA
2  DEV
3  OPS

원하는 동작에 따라 다음을 사용할 수 있습니다 tr.

$ tr -s '\t' ' ' < foo
1 QA
2 DEV
3 OPS

관련 정보