ls
출력이 터미널인지 또는 다른지에 따라 다르게 인쇄됩니다.
예 :
$ ls .
file1 file2
$ ls . | head
file1
file2
ls
터미널이 아닌 것처럼 한 줄에 인쇄하는 방법이 있습니까? 거기에의 -C
할까 그런 않는다는 것을 주장하지만, 여러 라인으로 분할됩니다.
$ ls
file1 file10 file11 file12 file13 file14 file15 file16 file17 file18 file19 file2 file3 file4 file5 file6 file7 file8 file9
$ ls -C . | head
file1 file11 file13 file15 file17 file19 file3 file5 file7 file9
file10 file12 file14 file16 file18 file2 file4 file6 file8
내가 원하는 이유는 빠르게 변경되는 디렉토리의 파일을 모니터링하기 때문입니다. 이 간단한 명령 줄을 구성했습니다.
while [[ true ]] ; do ls ; done | uniq
uniq은 터미널에 스팸을 보내지 않고 변경 사항 만 표시하지 못하게합니다. 그러나 그것은 모두 다른 라인에 인쇄하고있어 uniq를 쓸모 없게 만들고 소음을 증가시킵니다. 이론적으로 watch
는 이것을 사용할 수 있지만 파일이 나타나거나 사라지는 즉시 파일을보고 싶었습니다.
이것이 최종 해결책입니다.
while [[ true ]] ; do ls | tr '\n' ' ' ; done | uniq