![awk에서 필드 구분 기호를 사용하고 파이프가 없는 줄을 무시하는 방법은 무엇입니까?](https://linux55.com/image/117974/awk%EC%97%90%EC%84%9C%20%ED%95%84%EB%93%9C%20%EA%B5%AC%EB%B6%84%20%EA%B8%B0%ED%98%B8%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EA%B3%A0%20%ED%8C%8C%EC%9D%B4%ED%94%84%EA%B0%80%20%EC%97%86%EB%8A%94%20%EC%A4%84%EC%9D%84%20%EB%AC%B4%EC%8B%9C%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
다른 명령으로 연결하지 않고 이 줄에서 cut 명령을 제거할 수 있습니까?
awk 'NR > 1 {print l}{l=$2}' filename | cut -d':' -f2
원하거나 필요한 경우 세부정보:
[필수라기보다는 관심의 문제입니다. cut
위의 내용을 사용하면 작업을 쉽게 완료할 수 있습니다.]
파일의 마지막 줄을 무시하면서 두 번째 열을 가져올 수 있습니다 NR > 1{print l}{l=$2}
.
기본적으로 이는 플랫 파일 데이터베이스(비데이터 콘텐츠의 마지막 줄 참고)이며 각 값이 필요합니다 field1
.
$ cat file
1 field1:value1 field2:value2 ...
.
.
.
N field1:value1 field2:value2 ...
other.parseable info.that is.unnecessary to.me
-F
"잘라내기"를 먼저 수행하기 때문에 열 번호를 변경하는 것처럼 보이기 때문에 해당 플래그를 사용해 도 작동하지 않습니다.
$ awk -F ':' 'NR > 1 {print l}{l=$2}' file
value1 field2
value1 field2
...
답변1
귀하가 사용할 수 있는 split
기능 입니다 awk
.
awk '{ split($2, var, /:/ ); print var[2] }'
또는 여러 구분 기호를 사용하세요.
awk -F'[ :]+' '{print $3}'