grep -c의 결과를 쉘 변수에 저장


0

grep -c쉘 변수에 정수로 결과를 어떻게 저장할 수 있습니까?

이:

check=sudo virsh list |egrep -c '\b[0-9]{2}\b'

일치하는 수만 제공하고 화면에 인쇄하는 반면 check 값은입니다 NULL.

내가 실행하면 :

check=`sudo virsh list |egrep -c '\b[0-9]{2}\b'`

나는 오류가 발생합니다.

./test: 1 :Not found

1일치하는 횟수는 어디 입니까?


포럼 코드가 코드 예제를 그대로 보냈기 때문에 마크 업을 수정했습니다. David의 대답에 대한 주석을 주목하십시오 =. 두 번째 예에서 기호 주위 어딘가에 공백 문자를 입력했을 수 있습니다 . 최소한의 예는 test :을 테스트하는 것입니다. check=`echo 1`그 다음에는 작동 check= `echo 1`합니다 bash: 1: command not found(또는 1경로에 존재하는 경우 기술적으로 " " 라는 명령을 실행 함 ).
Daniel Andersson

답변:


3

이처럼 :

check=$(sudo virsh list | egrep -c '\b[0-9]{2}\b')

$(command)값이의 출력 인 변수처럼 동작 command합니다.


1
부호 주위에 공백을 두지 않는 것이 매우 중요 =합니다. 오류 설명에서 원래 문제의 일부일 수 있습니다.
Gordon Davisson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.