ls
(인수없이) 의 출력은 파일 이름을 줄 바꿈으로 구분하는 것으로 보입니다.
증거:
ls | grep foo
grep
각 파일 이름을 별도의 입력 줄로 취급 하여 예상대로 작동 합니다.ls > files.txt; vim files.txt
Vim에서->, 각 파일은 별도의 줄에 있습니다.
그러나 터미널에서 출력 ls
은 여러 파일을 한 줄에 넣고 파일 이름을 공백으로 분리하여 잘 정렬 된 열을 만듭니다.
$ ls
a.txt b.txt c.txt
그래서 내 질문은, 어떻게이 일을합니까?
줄 바꿈을 '가짜로 만들기 위해 특수 제어 문자를 사용하고 있습니까? 또는 출력이 다른 명령으로 파이프되는시기를 알고 있으며이 경우 출력을 다르게 형식화합니까?
ls
는 출력이 터미널인지 아닌지를 결정하는 데 사용됩니다isatty(3)
.