line(records)은 dat 파일의 하나의 명령으로 동시에 계산하고 grep합니다.

line(records)은 dat 파일의 하나의 명령으로 동시에 계산하고 grep합니다.

줄 수를 계산하고 그 숫자를 쉘 스크립트의 변수에 넣고 싶습니다. 예를 들어.

 wc -l filename.dat

221 filename.dat 나중에 사용할 수 있는 변수에 '221'을 grep하고 싶습니다 . 이 작업을 하나의 명령문으로 수행할 수 있습니까? 출력을 wc -l다른 파일로 복사한 다음 grep으로 복사하고 싶지 않습니다 .

답변1

파일 이름을 STDIN에 전달하여 줄 wc수만 얻을 수 있습니다.

wc -l <filename.dat

변수로 저장하려면:

var="$(wc -l <filename.dat)"

예:

$ wc -l foo.txt 
12 foo.txt

$ wc -l <foo.txt 
12

$ var="$(wc -l <foo.txt)"

$ echo "$var"
12

다음과 같이 참고하시기 바랍니다스테판 차젤라스는 다음과 같이 지적합니다., 일부 wc변형에서는 원하는 정렬을 얻기 위해 줄 번호 앞뒤에 공백을 추가할 수 있습니다.

관련 정보