cat file.tsv| sed '1icolumn1 column2 column3 column4 ...' > file2.tsv
저는 sed를 사용하여 .tsv
파일에 첫 번째 줄(제목 태그)을 추가하고 있습니다. 태그는 탭으로 구분되어야 합니다. 저는 문자열을 구분하기 위해 리터럴 탭을 사용해 왔습니다.
문자열을 여러 번 확인했습니다. 그런데 태그가 누락되는 문제가 계속 발생합니다.
예를 들어, .을 얻는 대신 column1 column2 column3
.로 끝나는 경우가 많습니다 column1 column2column3
. 그런 다음 수정하려고 하면 column1column2 column3
.
"\t"(성공하지 못했지만)를 사용하는 것과 같이 오류가 덜 발생하는 탭을 추가하는 다른 방법이 있습니까? awk
더 나은 선택이 되지 않을까요 ?
답변1
printf
한 가지 가능한 방법은 다음 명령을 사용하는 것입니다 .
printf "column1\tcolumn2\tcolumn3"
결과는 다음과 같습니다.
column1 column2 column3
탭 포함:
printf "column1\tcolumn2\tcolumn3"|od -ax
0000000 c o l u m n 1 ht c o l u m n 2 ht
6f63 756c 6e6d 0931 6f63 756c 6e6d 0932
0000020 c o l u m n 3 nul
6f63 756c 6e6d 0033
0000027
(위 코드에서 0x09를 확인하세요. TAB입니다.)
귀하의 명령은 다음과 같습니다
cat <(printf "column1\tcolumn2\tcolumn3\n") file.tsv >file2.tsv