문제가 있습니다. 내 문자열은 단일 문자열이 아닙니다. sed를 사용하면 잘 작동하지만 awk는 아닙니다.
awk를 사용하여 모든 문자열을 그룹화하는 방법은 무엇입니까? " "
, with 및 with 으로 { }
문자열을 캡슐화하려고 시도했지만 ( )
아무것도 작동하지 않았습니다. 다음은 sed 및 awk의 예입니다.
sed -n '/show system | inc Software/,/sh syst | i @@@@@/p' filename.txt > out_file.txt
이 줄은 sed와 완벽하게 작동합니다 "show system | inc Software"
."sh syst | inc @@@@@"
awk의 경우 작동하지 않습니다.
awk '/show system | inc Software/,/sh syst | i @@@@@/' filename.txt > out_file.txt
출력 파일이 예상한 것과 다릅니다. 이 문자열이 이 명령에서 작동하도록 하려면 어떻게 해야 합니까?
답변1
입력 데이터와 예상 출력 데이터를 포함하면 질문을 더 쉽게 이해할 수 있습니다.
다음 awk
명령은 'show system | inc Software' 및 'sh syst i @@@@@' 줄과 그 사이의 모든 줄을 인쇄합니다.
awk '/show system \| inc Software/,/sh syst \| i @@@@@/{n=0}' filename.txt > out_file.txt
편집하다:
또한 귀하의 명령이 작동하지 않는 것 같습니다 sed
. (귀하의 질문을 이해했다고 가정) 다음과 같아야 합니다.
sed -n '/show system | inc Software/,/sh syst | i @@@@@/p' filename.txt > out_file.txt