ls
(인수없이) 의 출력은 파일 이름을 줄 바꿈으로 구분하는 것으로 보입니다.
증거:
-
ls | grep foo
grep
각 파일 이름을 별도의 입력 줄로 취급 하여 예상대로 작동 합니다. -
ls > files.txt; vim files.txt
Vim에서->, 각 파일은 별도의 줄에 있습니다.
그러나 터미널에서 출력 ls
은 여러 파일을 한 줄에 넣고 파일 이름을 공백으로 분리하여 잘 정렬 된 열을 만듭니다.
$ ls
a.txt b.txt c.txt
그래서 내 질문은, 어떻게이 일을합니까?
줄 바꿈을 ‘가짜로 만들기 위해 특수 제어 문자를 사용하고 있습니까? 또는 출력이 다른 명령으로 파이프되는시기를 알고 있으며이 경우 출력을 다르게 형식화합니까?
답변
또는 출력이 다른 명령으로 파이프되는시기를 알고 있으며이 경우 출력을 다르게 형식화합니까?
예. 전체 설명서에서 ( info ls
문서가 설치된 경우 사용 가능 ) :
표준 출력이 터미널 인 경우 출력은 열 (수직 정렬)이며 제어 문자는 물음표로 출력됩니다. 그렇지 않으면 출력이 한 줄에 하나씩 나열되고 제어 문자는 그대로 출력됩니다.
하나의 열 출력이 마음에 들면 다음을 실행할 수 있습니다.
ls -1
터미널에서도 가져옵니다.
답변
ls
출력을 파이프 할 때 감지합니다. 설명서에서 볼 수 있습니다.
표준 출력이 터미널 인 경우 출력은 열 (수직 정렬)이며 제어 문자는 물음표로 출력됩니다. 그렇지 않으면 출력이 한 줄에 하나씩 나열되고 제어 문자는 그대로 출력됩니다.
파이프 재 지정에 관계없이 출력의 각 파일을 별도의 행에 배치하려면 다음을 사용할 수 있습니다.
ls -1