비슷한 질문인데 질문에서 다루지 않은 문제에 부딪혔습니다. 특정 열의 내용을 awk로 바꾸는 방법은 무엇입니까?
비슷한 작업을 하고 싶지만 파일이 공백으로 구분되지 않고 탭으로 구분되어 있습니다. 필드 3을 변경하고 싶습니다. 내 파일이 다음과 같다고 가정해 보겠습니다.
NAME\tNUMBER\tID\tSEQ\t...\t...\t...
필드 3을 AD로 변경하고 싶다고 가정해 보겠습니다.
awk '{$3 = "AD"; print}' infile > outfile
내 출력은
NAME\tNUMBER\tAD SEQ ... ... ... ... ... ...
교체 후 탭이 공백이 됩니다. 파일만 출력할 수 있다고 확신 하지만 필드 구분 기호가 변경되는 tr
원인이 무엇인지 알고 싶습니다 .awk
예상 출력:
NAME\tNUMBER\tAD\tSEQ\t...\t...\t...\t
답변1
O
출력 F
필드 S
구분자를 tab으로 설정 해야 합니다 \t
.
한 가지 방법은 옵션을 사용하는 것입니다 -v
.
awk -vOFS='\t' '{$3 = "AD"; print}' file
awk
BEGIN 블록과 같이 내부의 또 다른 가능성은 다음 과 같습니다.
awk 'BEGIN{OFS="\t"}{$3 = "AD"; print}' file
설정하지 않으면 기본적 OFS
으로 awk
단일 공백이 필드 구분 기호로 사용됩니다.