나는 다음을 수행하려고합니다 :
printf "Are you sure you want to copy %s (y/n) ? (file bigger than 10 MB) " "$0"
잘 작동하지만 다음을 수행하여 파일의 실제 크기를 표시하고 싶습니다.
printf "Are you sure you want to copy %s (y/n) ? (file bigger than 10 MB : %s) " "$0" "ls -l $0 | awk {'print $5'}"
그러나 나는 그렇게 하지 못했습니다. 나는 이것이 올바른 접근 방식이 아니라고 생각합니다.
답변1
printf "Are you sure you want to copy %s (y/n) ? (file bigger than 10 MB: %lu) " "$0" \
"$(wc -c < "$0")"
구문 분석된 출력은 ls
신뢰할 수 없습니다(그리고 그 주변에 무엇이 있는지 잊어버렸습니다 $(...)
).
답변2
나는 이것이 bash 또는 ksh와 같은 일종의 쉘 형태라고 가정합니다. X는 파일입니다. (이름에 공백이 있는 것 같아요)
printf "Are you sure you want to copy %s (y/n) ? (file bigger than 10 MB : %s) " "$x" \
$(ls -ld -- "$x" | awk {'print $5'})
해야 할 것.
구문에 주의하세요.$( some code )
답변3
GNU 시스템에서는 다음을 stat
사용하는 것이 좋습니다.
printf "Are you sure you want to copy %s (y/n) ? (file bigger than 10 MB : %s) " "$0" \
"$(exec stat -Lc '%s' -- "$0")"
-L
stat
다음과 같은 심볼릭 링크를 만듭니다 .