저는 MacOS Mojave를 사용하고 있으며 주어진 경로에서 파일 소유자 목록을 얻으려고합니다. 나는 이렇게하려고 노력하고 있지만 작동하지 않습니다.
$ ls -l /usr | cut -f3
total 0
drwxr-xr-x 971 root wheel 31072 23 sty 20:05 bin
drwxr-xr-x 304 root wheel 9728 23 sty 20:05 lib
drwxr-xr-x 248 root wheel 7936 23 sty 20:05 libexec
drwxr-xr-x 16 root wheel 512 3 lis 10:50 local
drwxr-xr-x 239 root wheel 7648 23 sty 20:05 sbin
drwxr-xr-x 46 root wheel 1472 3 lis 10:41 share
drwxr-xr-x 5 root wheel 160 21 wrz 06:06 standalone
구분 문자를 지정하는 것은 작동하지만 TAB 문자에는 해당하지 않습니다 (기본값이어야 함).
$ ls -l /usr | cut -f3 -d' '
971
304
248
239
오, 내 zsh 및 iTerm 2와 함께 ZSH를 사용하고 있습니다.
답변
공백을 하나의 공백으로 넣을 수 있습니다. ls
출력이 다음 사용 cut
.
ls -l /usr | tr -s ' ' | cut -d ' ' -f3
구문 분석은 피하십시오. ls
산출. 여기에 대체 솔루션이 있습니다.
stat -f'%Su' /usr/*
답변
ls
탭을 사용하지 않습니다. cut
필드 사이의 구분 기호의 가변 개수로 작동하지 않습니다.
ls -l /usr | awk '{print $3}'
작동 할 것이다.
ls -l /usr | awk 'NR > 1 {print $3}'
첫 번째 줄을 건너 뛰려면 ( total 0
귀하의 예에서).