이런 내용의 파일이 있습니다.
Column1 Column2 Column3 Column4
USER1 25 Years xyz zyz 123 abc
USER2 15 Years 2 months blah abc sdsz sd 123 abc
등...
이제 내가 원하는 것은 COLUMN2의 모든 콘텐츠를 인쇄하는 것입니다. 보시다시피 동적 콘텐츠가 있고 텍스트는 한 단어 또는 공백이 있는 여러 단어일 수 있습니다. 따라서 2열의 내용을 인쇄할 방법이 필요합니다.
답변1
사용 awk
:
awk 'NR==1{b=index($0,$2); e=index($0,$3)} {print substr($0,b,e-b)}' file
필드 길이가 동적 이라면 age
먼저 길이가 시작하고 끝나는 위치를 찾아야 합니다. 변수 b
정의 필드가 시작되는 문자와 e
변수 정의가 끝나는 문자입니다. substr()
그런 다음 로프를 원하는 길이로 자릅니다.