내 더미 파일은 다음과 같습니다.
C1 C2 C3
1 a snow
2 b snowman
snow c sowman
snow
$ 3에 문자열이 있으면 줄을 얻고 싶습니다 . 다음과 같이 할 수 있습니다.
awk '($3=="snow" || $3=="snowman") {print}' dummy_file
그러나 더 간단한 방법이 있어야합니다.
답변
awk '$3 ~ /snow/ { print }' dummy_file
답변
index () 함수로 하위 문자열을 찾아서도 가능합니다.
awk '(index($3, "snow") != 0) {print}' dummy_file
더 짧은 버전 :
awk 'index($3, "snow")' dummy_file
답변
아마도 이것이 도움이 될 것입니다
http://www.math.utah.edu/docs/info/gawk_5.html
awk '$3 ~ /snow|snowman/' dummy_file
답변
세 번째 필드가 다음 중 하나 snow
이거나 snowman
전용 인 행을 인쇄 합니다.
awk '$3~/^snow(man)?$/' file
답변
GNU sed
sed '/\s*\(\S\+\s\+\)\{2\}\bsnow\(man\)\?\b/!d' file
입력:
C1 C2 C3 1 눈 2b 눈사람 눈 c sowman 눈 눈 snowmanx
..산출:
1 눈 2b 눈사람