파이프라인 데이터에서 변수를 만드는 방법

파이프라인 데이터에서 변수를 만드는 방법

내가 사용하는 명령은 다음과 같습니다 ls -l . | totLines=$(wc -l) echo $totLines. 내 목표는 총 행 수를 표시하지만 wc -l출력을 변수 이름에 할당한 다음 해당 변수의 값을 표시하는 것입니다. 그러나 이것은 작동하지 않습니다. wc -l이전 명령에서 처리 중인 줄을 가져온 후 출력에서 ​​변수를 만들려면 어떻게 해야 합니까 ls?

답변1

이 경우 파이프가 내부 쉘에 들어 가지 않으므로 다음을 원할 것입니다.

totLines=$(ls -l . | wc -l)
printf '%s\n' "$totLines"

여기에서 무엇을 하려는지 수행하십시오. 하지만 이 경우에는 그 -l .부분은 크게 차이가 나지 않으니 그대로 놔두시면 됩니다. 또한 파일 이름에 새 줄이 포함되어 있으면 이렇게 하면 잘못된 개수를 얻게 됩니다.

관련 정보