![다양한 정규식을 사용하는 grep -c와 bc의 파이프라인 차이점](https://linux55.com/image/83645/%EB%8B%A4%EC%96%91%ED%95%9C%20%EC%A0%95%EA%B7%9C%EC%8B%9D%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20grep%20-c%EC%99%80%20bc%EC%9D%98%20%ED%8C%8C%EC%9D%B4%ED%94%84%EB%9D%BC%EC%9D%B8%20%EC%B0%A8%EC%9D%B4%EC%A0%90.png)
특정 문자 집합을 포함하지 않는 파일의 단어 수(한 줄에 1단어)를 찾아야 합니다. 이를 위해 grep -c '.' <file>
합계의 차이를 취하고 싶습니다 grep -c '<other_pattern>' <file>
. 다음 명령을 사용하여 bc로 파이핑을 시도했습니다 echo "(grep -c '.' <file>) - (grep -c '<other_pattern>' <file>)" | bc
. 결과는 단지 구문 오류일 뿐입니다. 나는 누군가가 bc가 grep 호출의 결과를 받아들이는 데 필요한 구문을 알아낼 수 있기를 바랍니다. 이 작업도 하나의 명령으로 수행해야 합니다.
미리 감사드립니다.
답변1
명령 대체를 활성화하기 위해 두 개의 달러 기호가 누락되었습니다.
echo $(grep -c '.' <file>) - $(grep -c '<other_pattern>' <file>) | bc
또한 실제로 필요하지 않은 따옴표도 제거했습니다.