내 파일의 첫 번째 줄이 다음과 같다면
NAMES n1 n2 n3
row1과 t1 사이에는 두 개의 탭이 있지만 탭은 하나만 있어야 합니다. 이 줄은 더 큰 파일에 있으며 항상 첫 번째 줄에 있습니다. ROW1과 그 이후의 첫 번째 항목 사이에 탭을 너무 많이 삭제하려면 어떻게 해야 합니까?
NAMES n1 n2 n3
답변1
사용 perl
:
perl -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>
-i
인라인 교체용 스위치 추가
perl -i -pe 's/^(\w*)\t\t/$1\t/' <your_input_file>
\t\t
첫 번째 열과 두 번째 열 사이뿐만 아니라 모두 바꾸려면 다음을 사용하십시오.
perl -i -pe 's/\t\t/\t/' foo
\t
또는 모두 1보다 큰 수로 바꾸려면
perl -i -pe 's/\t{2,}/\t/g' foo
예
$ printf "%s\t\t%s %s\n" "foo" "bar" "foobar" > foo
$ perl -i -pe 's/^(\w*)\t\t/$1\t/' foo
$ cat foo
foo bar foobar
또는 귀하의 예를 들어 :
$ printf "%s\t\t%s %s %s\n" "ROW1" "t1" "t2" "t3" > foo
$ perl -i -pe 's/^(\w*)\t\t/$1\t/' foo
$ cat foo
ROW1 t1 t2 t3