다음 파일이 있습니다.
…
LINK=dummy 172.17.100 => 10.218.11 [PATH=/etc]
FILE=hosts 172.17.100 => 10.218.11 [PATH=/etc]
FILE=network 172.17.100 => 10.218.11 [PATH=/etc/sysconfig]
LINK=empty 172.17.100 => 10.218.11 [PATH=/etc]
FILE#TEST 172.17.100 => 10.218.11 [PATH=/etc/sysconfig]
…
줄이 단어로 시작하는 경우에만 첫 번째 필드와 다섯 번째 필드를 인쇄하는 방법은 무엇입니까 FILE
?
단어는 FILE
줄의 시작 부분에 직접 올 수도 있고 줄의 공백이나 TAB 뒤에 올 수도 있습니다.
내가 기대했던 것의 예
FILE=hosts [PATH=/etc]
FILE=network [PATH=/etc/sysconfig]
FILE#TEST [PATH=/etc/sysconfig]
나는 이것을 시도했지만 작동하지 않습니다
awk '$1 == "^[[:blank:]]*FILE*" && '{print $1" "$5}' file
답변1
awk '$1 ~ /^FILE/ { print $1 " " $5 }'
.exe를 사용해야 하는 ==
정규 표현식이 아닌 문자 그대로의 동등성이 확인되므로 접근 방식이 작동하지 않습니다 .~
답변2
이 시도:
awk '/^ *FILE=/{print $1, $5}'
또는
awk '/^[[:blank:]]*FILE=/{print $1, $5}'