-l
내 디렉토리에 다음과 같은 파일이 있습니다.
이제 나는하려고합니다
for i in *; do stat -c "%s %n" "$i"; done
모든 파일을 크기와 함께 나열하지만 출력 중간에 다음과 같은 내용이 있습니다.
395 koko.pub
stat: invalid option -- 'l'
Try 'stat --help' for more information.
2995974 list.txt
따라서 일반적인 파일 이름처럼 처리되지 않습니다 -l
. 여기서 원하는 동작을 얻으려면 어떻게 해야 합니까 stat
?
답변1
파일 이름 앞에 사용 ./
:
for i in *; do stat -c "%s %n" "./$i"; done
또는 --
옵션의 끝을 표시 하려면 다음을 수행하세요 stat
.
for i in *; do stat -c "%s %n" -- "$i"; done
-
그러나 이름이 지정된 파일(현재 디렉터리의 파일이 아닌 표준 입력에서 열린 파일에 대한 정보를 보고함)에 대해서는 -
실패합니다 .
답변2
--
태그 옵션 끝에 추가하십시오 stat
.
for i in *; do stat -c "%s %n" -- "$i"; done
답변3
더 쉬운 방법은 파일 이름을 -_I 또는 간단히 I(대시 없이)로 바꾸는 것입니다. 단지 순수한 호기심에서 왜 첫 번째 plac의 파일 앞에 대시를 넣었습니까?