내 더미 파일은 다음과 같습니다.
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
awk 'index($3, "snow")' dummy_file
아마도 이것이 도움이 될 것입니다
http://www.math.utah.edu/docs/info/gawk_5.html
awk '$3 ~ /snow|snowman/' dummy_file
sed '/\s*\(\S\+\s\+\)\{2\}\bsnow\(man\)\?\b/!d' file
입력:
C1 C2 C3 1 눈 2b 눈사람 눈 c sowman 눈 눈 snowmanx
..산출:
1 눈 2b 눈사람
sed
전체 단어 를 사용하는 것은 매우 위험합니다 . 즉 안정적으로 작동하기에, 기술적으로 가능한 긴하지만, 나는뿐만 아니라 모양 숨김,보기 앞으로 사용했다 !?
가해야 단어에 대해 때 구성 되지 따릅니다. 이것은 희미한 마음을위한 것이 아닙니다. (그리고 오류를 찾아 수정하는 데 많은 시간이
'$3~/snow/'
충분할를