문자열 구분 기호를 사용하여 파일에서 특정 열을 선택하는 방법

문자열 구분 기호를 사용하여 파일에서 특정 열을 선택하는 방법

문자열로 구분된 열이 있는 파일이 있습니다. 예를 들어:

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가 자동으로 인쇄됩니다.

관련 정보