벡터에서 탭 가져오기

벡터에서 탭 가져오기

내 파일의 첫 번째 줄이 다음과 같다면

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

관련 정보