문자열로 구분된 열이 있는 파일이 있습니다. 예를 들어:
one<xx>two<xx>three<xx>four<xx>five<xx>six
one11<xx>two11<xx>three11<xx>four11<xx>five11<xx>six11
특정 열(예: 열 1, 3, 5)의 텍스트를 추출하고 싶습니다. 따라서 출력은 다음과 같아야 합니다.
one<xx>three<xx>five
one11<xx>three11<xx>five11
어떻게 해야 하나요? 다음과 같은 명령을 사용하십시오 awk
.
답변1
입력 필드 구분 기호( FS
) 및 출력 필드 구분 기호( OFS
)를 다음으로 설정합니다 <xx>
.
awk 'BEGIN{FS=OFS="<xx>"} {print $1,$2,$5}' file
산출:
one<xx>two<xx>five
one11<xx>two11<xx>five11
바라보다:8개의 강력한 awk 내장 변수 – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR
답변2
$ perl -F'<xxx>' -pale ' $"="<xxx>";$_ = "@F[1,3,5]"' file
필드 구분 기호를 원하는 문자열로 설정한 다음 필드의 인덱스를 수집하고 $"의 문자열과 연결하여 현재 레코드로 저장합니다. -p가 자동으로 인쇄됩니다.