$ 2 필드가 다음 중 하나 인 모든 행을 인쇄해야합니다 (23, 17, 21, 1).
awk -F $'\t' 'BEGIN { arr = (23, 17, 21, 1) } {if ($2 in arr) {print $0}}' file.txt
작동하지 않는다
이렇게해야합니다.
awk '$2~/^(23|17|21|1)$/' file
필드 #2
가 23,17,21 또는 1 중 하나 인지 테스트합니다.
배열로 수행하는 방법에 대한 예제입니다.
awk 'BEGIN{split("23 17 21 1",tmp); for (i in tmp) arr[tmp[i]]} $2 in arr' file
data
사용할 숫자로 변수 를 만들어 배열로
분할하여 모든 줄 앞의 모든 값을 루프 split
로 나누고 arr에있는 경우 인쇄합니다 .arr
arr
$2
편집 : Eds 제안으로 업데이트되었습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다