에서 변수 확장을 억제, 코드는 다음과 같이 간다.내가 파일 <code>a.txt</code>에서 일부 특정 라인을 얻으려면 awk 명령
는하지만, 어떤 이유로,이 같은 변수에 위의 명령을 추가해야한다
cmd="cat a.txt | awk '{if($0 > 100) print}'"
하고 스크립트의 첫 번째 매개 변수로 확장거야 때문에, 문제가 $0
만들어 가지고 그것이 실제로 있어야하는 것과는 거리가 멀다.
어떻게 해결할 수 있습니까?
대신'cat a.txt | awk ...'그냥 awk을해라. $ 0> 100 'a.txt' –
왜 명령을 문자열로 쓰길 원합니까? 당신이 방금 시연했던 것처럼 그것은 삶을 매우 어렵게 만듭니다. –
스크립트의 일부 부분에 버그가 표시되어 사용자에게 표시되지 않습니다. 대부분 일치하지 않는 작은 따옴표 문자이므로 awk 명령의 여는 따옴표가 이전의 일치하지 않는 따옴표의 닫는 따옴표로 처리됩니다. –