![line(records)은 dat 파일의 하나의 명령으로 동시에 계산하고 grep합니다.](https://linux55.com/image/72630/line(records)%EC%9D%80%20dat%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%ED%95%98%EB%82%98%EC%9D%98%20%EB%AA%85%EB%A0%B9%EC%9C%BC%EB%A1%9C%20%EB%8F%99%EC%8B%9C%EC%97%90%20%EA%B3%84%EC%82%B0%ED%95%98%EA%B3%A0%20grep%ED%95%A9%EB%8B%88%EB%8B%A4..png)
줄 수를 계산하고 그 숫자를 쉘 스크립트의 변수에 넣고 싶습니다. 예를 들어.
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
변형에서는 원하는 정렬을 얻기 위해 줄 번호 앞뒤에 공백을 추가할 수 있습니다.