grep을 실행하면 ls | grep png
출력은 다음과 같습니다.
2015-05-15-200203_1920x1080_scrot.png
2015-05-16-025536_1920x1080_scrot.png
(파일 이름, 줄 바꿈, 파일 이름, 줄 바꿈)
그런 다음 다음 echo $(ls | grep png)
을 출력합니다.
2015-05-15-200203_1920x1080_scrot.png 2015-05-16-025536_1920x1080_scrot.png
(파일명, 단어분할 공백, 파일명, 개행문자!! From echo!!)
괜찮습니다. 하지만 단어 분리를 방지하기 위해 이렇게 하면 echo "$(ls | grep png)"
결과는 다음과 같습니다.
2015-05-15-200203_1920x1080_scrot.png
2015-05-16-025536_1920x1080_scrot.png
제 질문은 두 번째 개행 문자(하나는 grep에서, 하나는 echo에서 가져와야 함)는 어디에 있습니까?
답변1
이것은 에서 오는 줄 바꿈입니다 echo
. 다음을 echo -n
사용하여 후행 줄 바꿈을 억제하여 이를 확인할 수 있습니다.
echo -n "$(ls | grep png)"
명령 대체모든 후행 개행 문자를 제거합니다. 마지막 개행 문자는 에 의해 추가되었으며 echo
여기서는 grep
관련이 없습니다.