bash 스크립트에서 파일 크기를 어떻게 알 수 있습니까?
나중에 사용할 수 있도록 bash 변수에 어떻게 할당하나요?
댓글
Answer
GNU 시스템을 사용하는 경우 가장 좋은 방법 :
stat --printf="%s" file.any
From man stat :
% s 총 크기 (바이트)
bash 스크립트에서 :
#!/bin/bash FILENAME=/home/heiko/dummy/packages.txt FILESIZE=$(stat -c%s "$FILENAME") echo "Size of $FILENAME = $FILESIZE bytes."
참고 :
@chbrown “의 답변 은 Mac OS X의 터미널에서 stat를 사용하는 방법입니다.
댓글
- @ haunted85
stat
는 Linux 또는 Cygwin (iv id =”)을 사용한다고 가정 할 때 ‘ 가장 간단한 방법입니다. 0c0fda0b21 “> 는 ‘ 표준이 아닙니다.)wc -c
(Eug에서 제안한 é ne )은 휴대 가능합니다. -
stat: illegal option -- c
-
stat --printf="%s" file.txt
는 ‘하지 않습니다. Debian Jessie에서 출력 … - MacOS에서는 작동합니다.
stat -f%z myfile.tar
- @woohoo 프롬프트가 출력을 덮어 씁니다.
man stat
는 –printf가 후행 줄 바꿈을 생략한다고 말합니다. 출력을 보려면--format
또는-c
를 사용하세요.stat --printf="%s" file.any | xxd -
를stat -c "%s" file.any | xxd -
답변
과 비교하여 더 많은 통찰력을 얻으십시오.
file_size_kb=`du -k "$filename" | cut -f1`
stat
사용시 문제는 GNU (Linux) 확장 프로그램이라는 것입니다. du -k
및 cut -f1
는 POSIX에 의해 지정되므로 모든 Unix 시스템에 이식 가능합니다.
예를 들어 Solaris는 bash와 함께 제공되지만 stat
에는 제공되지 않습니다. . 따라서 이것은 전적으로 가설이 아닙니다.
ls
는 출력의 정확한 형식이 지정되지 않았기 때문에 출력 파싱을 이식 할 수 없다는 유사한 문제가 있습니다. . du -h
도 GNU 확장입니다.
가능한 경우 이식 가능한 구조를 고수하면 미래에 누군가의 삶을 더 쉽게 만들 수 있습니다. 아마도 당신의 삶일 수도 있습니다.
댓글
-
du
는 ‘ 파일의 크기에 따라 파일이 사용하는 공간의 크기를 나타내며, 이는 미묘하게 다릅니다 (보통du
에서보고하는 크기는 가장 가까운 값으로 반올림 된 파일 크기입니다. 블록 수, 여기서 블록은 일반적으로 512B 또는 1kB 또는 4kB입니다. - @Gilles, 스파 스 파일 (즉, 구멍이있는 파일)은 길이보다 짧게보고합니다.
-
-k
대신--bytes
또는-b
가 허용되는 답변이어야합니다. - @fralau : OP는 “이 변수를 나중에 사용할 수 있도록 bash 변수에 할당하려고합니다 “, 그래서 그들은 액츄를 원할 가능성이 훨씬 더 높습니다. 사람이 읽을 수있는 근사치가 아닌 모든 숫자 값입니다. 또한
-h
는 GNU 확장입니다. 표준 -
--apparent-size
플래그와 함께 du를 사용하면 더 많은 정확한 크기 (man에 명시된대로 :print apparent sizes, rather than disk usage; although the apparent size is usually smaller, it may be larger due to holes in ('sparse') files, internal fragmentation, indirect blocks, and the like
)
이 아닙니다.
답변
“단어 수 “명령 (wc
)을 사용할 수도 있습니다.
wc -c "$filename" | awk "{print $1}"
wc
의 문제점은 파일 이름을 추가하고 출력을 들여 쓴다는 것입니다. 예 :
$ wc -c somefile.txt 1160 somefile.txt
파일 크기 계산을 위해 전체 해석 언어 또는 스트림 편집기를 연결하지 않으려면 wc
가 파일 이름을 볼 수 없도록 파일에서 입력을 리디렉션하면됩니다.
wc -c < "$filename"
이 마지막 형식은 Gilles 아래.
size="$(wc -c <"$filename")"
댓글
-
wc -c <"$FILENAME"
는 다른 부분이없는 크기를 제공하므로size=$(wc -c <"$FILENAME")
. - 한 가지만 더 말씀 드리겠습니다. 방금 테스트했는데
wc -c < file
가 적어도 OS X에서 매우 빠르다고 생각합니다. I ‘ wc는 -c 만 지정하면 파일을 stat하려는 두뇌가 있다고 추측합니다. - @EdwardFalk : GNU
wc -c
는그러나 파일의 두 번째 마지막 블록을 찾고 마지막 최대
st_blksize
바이트를 읽습니다. 분명히 이것은 Linux ‘의/proc
및 에는 대략적인 통계 크기가 있고wc
는 통계보고 크기가 아닌 실제 크기를보고하려고합니다.wc -c
가wc
와 다른 크기를보고하는 것이 이상 할 것 같지만 ‘는 파일이 일반 디스크 파일이고 ‘ 메모리에없는 ‘ 파일에서 데이터를 읽는 것을 생각하지 않습니다. 또는 니어 라인 테이프 스토리지 … -
printf
에 여전히 들여 쓰기가 표시되는 것 같습니다.printf "Size: $size"
->size: <4 spaces> 54339
. 반면echo
는 공백을 무시합니다. 일관성을 유지하는 방법은 없나요? - @keithpjolley :
fstat
를 호출합니다.strace wc -c </etc/passwd
를 실행 해 보면 어떤 작업을하는지 확인할 수 있습니다.
답변
BSD (macOS) stat
에는 다른 형식 인수 플래그와 다른 필드 지정자가 있습니다. From man stat(1)
:
-
-f format
: 지정된 형식을 사용하여 정보를 표시합니다. 유효한 형식에 대한 설명은 형식 섹션을 참조하세요. - … 형식 섹션 …
-
z
: 파일 단위입니다.
이제 모두 함께 :
stat -f%z myfile1.txt
명령을 사용하는 방법에 대한 @ b01 “의 답변 . 🙂
댓글
- 이 솔루션은 BSD 전용 솔루션입니다. ‘ GNU
stat
에서 작동하지 않습니다. div>, 안타깝게도
답변
크기 가 의미하는 바에 따라 다릅니다.
size=$(wc -c < "$file")
는 파일에서 읽을 수있는 바이트 수를 제공합니다. IOW는 파일 내용의 크기입니다. 그러나 파일의 내용을 읽습니다 (최적화로 대부분의 wc
구현에서 파일이 일반 파일이거나 일반 파일에 대한 심볼릭 링크 인 경우 제외). 부작용이있을 수 있습니다. 예를 들어 명명 된 파이프의 경우 읽은 내용은 더 이상 다시 읽을 수 없으며 /dev/zero
또는 /dev/random
와 같은 크기가 무제한이므로 시간이 걸릴 수 있습니다. 즉, 파일에 대한 read
권한이 필요하며 파일의 마지막 액세스 타임 스탬프 가 업데이트됩니다.
이는 표준이며 이식 가능하지만 일부 wc
구현에는 해당 출력에 선행 공백이 포함될 수 있습니다. 이를 제거하는 한 가지 방법은 다음을 사용하는 것입니다.
size=$(($(wc -c < "$file")))
또는 dash
또는 yash
wc
가 출력을 생성하지 않는 경우 (예 : 파일을 열 수없는 경우) :
size=$(($(wc -c < "$file") +0))
ksh93
에는 wc
가 내장되어 있습니다 (사용하도록 설정 한 경우 호출 할 수도 있음). as command /opt/ast/bin/wc
) 셸의 일반 파일에 가장 효율적입니다.
다양한 시스템에는 stat
는 stat()
또는 lstat()
시스템 호출에 대한 인터페이스입니다.
이러한 보고서 정보는 inode. 그 정보 중 하나는 st_size
속성입니다. 일반 파일의 경우 콘텐츠의 크기 (오류가없는 상태에서 읽을 수있는 데이터의 양 (최적화에 대부분의 wc -c
구현에서 사용)) ). 심볼릭 링크의 경우 대상 경로의 바이트 크기입니다. 명명 된 파이프의 경우 시스템에 따라 0 또는 현재 파이프 버퍼에있는 바이트 수입니다. 시스템에 따라 0 또는 기본 저장소의 크기 (바이트)를 얻는 블록 장치의 경우에도 동일합니다.
파일에 대한 읽기 권한이 필요하지 않고 파일에 대한 검색 권한 만 필요합니다. 링크 된 디렉토리.
시간순으로 :
-
IRIX
stat
(90 “s) :stat -qLs -- "$file"
iv id의
st_size
속성을 반환합니다. = “b8ccb6d7c5”>
(lstat()
) 또는 :
stat -s -- "$file"
$file
는 symlink 확인 후 파일의 st_size
인 경우 symlink입니다.
zsh
stat
내장 (현재 iv zsh/stat
모듈의 id = “3757e42dc0”> ) (zmodload zsh/stat
로로드 됨) (1997) :
stat -L +size -- $file # st_size of file stat +size -- $file # after symlink resolution
또는 변수에 저장 :
stat -L -A size +size -- $file
분명히 이것이 가장 효율적입니다. 그 쉘.
GNU stat
(2001); 2 이후에도 BusyBox stat
005 (GNU stat
에서 복사) :
stat -c %s -- "$file" # st_size of file stat -Lc %s -- "$file" # after symlink resolution
(는 IRIX 또는 zsh
stat
에 비해 반대입니다.
BSD stat
(2002) :
stat -f %z -- "$file" # st_size of file stat -Lf %z -- "$file" # after symlink resolution
또는 iv id =와 같은 일부 스크립팅 언어의 stat()
/ lstat()
기능을 사용할 수 있습니다. “ddc46a7499”> :
perl -le "print((lstat shift)[7])" -- "$file"
AIX에는 iv id = “7df0564b21도 있습니다. 모든 stat()
를 덤프하는 “> 명령 (lstat()
이 아니므로 심볼릭 링크에서 작동하지 않습니다. ) 정보 및 후 처리 할 수있는 정보, 예 :
LC_ALL=C istat "$file" | awk "NR == 4 {print $5}"
( 세부 정보를 찾는 데 도움이됩니다 ).
tcsh
:
@ size = -Z $file:q
(심볼 링크 해상도 이후의 크기)
GNU가 stat
명령을 도입하기 훨씬 이전에 GNU find
명령에 -printf
술어 (이미 1991 년에 있음) :
find -- "$file" -prune -printf "%s\n" # st_size of file find -L -- "$file" -prune -printf "%s\n" # after symlink resolution
하지만 한 가지 문제는 그렇지 않습니다. $file
가 -
로 시작하거나 find
조건 자 (예 : !
, (
…).
stat()
/ lstat()
정보는 ls
입니다.
POSIXly, 다음을 수행 할 수 있습니다.
LC_ALL=C ls -dn -- "$file" | awk "{print $5; exit}"
심볼 링크 확인 후 동일한 항목에 대해 -L
를 추가합니다. 5 th 필드가 크기가 아닌 장치 주 번호 인 장치 파일에서는 작동하지 않습니다.
블록 장치의 경우 는 st_size
에 대해 0을 반환합니다. 일반적으로 블록 기기의 크기를보고하는 다른 API가 있습니다. 예를 들어 Linux에는 BLKGETSIZE64
ioctl()
및 대부분의 Linux 배포에는 이제 사용할 수있는 blockdev
명령이 함께 제공됩니다.
blockdev --getsize64 -- "$device_file"
그러나이를 위해서는 장치 파일에 대한 읽기 권한이 필요합니다. 일반적으로 다른 방법으로 크기를 유도 할 수 있습니다. 예 (계속 Linux) :
lsblk -bdno size -- "$device_file"
빈 기기를 제외하고 작동해야합니다.
모든 에 작동하는 접근 방식 검색 가능한 파일 (일반 파일, 대부분의 블록 장치 및 일부 문자 장치 포함)은 파일을 열고 끝까지 검색하는 것입니다.
-
(
zsh/system
모듈을로드 한 후) :{sysseek -w end 0 && size=$((systell(0)))} < $file
-
ksh93
사용 :< "$file" <#((size=EOF))
또는
{ size=$(<#((EOF))); } < "$file"
-
perl
:perl -le "seek STDIN, 0, 2 or die "seek: $!"; print tell STDIN" < "$file"
이름이 지정된 파이프의 경우 일부 시스템 (적어도 AIX, Solaris, HP / UX)이 stat()
“에서 파이프 버퍼의 데이터 양을 사용할 수 있도록합니다. st_size
Linux 또는 FreeBSD와 같은 일부는 그렇지 않습니다.
최소한 Linux에서는 FIONREAD
ioctl()
파이프를 연 후 (멈춤 방지를 위해 읽기 + 쓰기 모드) :
fuser -s -- "$fifo_file" && perl -le "require "sys/ioctl.ph"; ioctl(STDIN, &FIONREAD, $n) or die$!; print unpack "L", $n" <> "$fifo_file"
그러나 읽지 않는 동안 파이프의 내용, 여기서 명명 된 파이프를 여는 것만으로도 여전히 부작용이있을 수 있습니다. 우리는 먼저 fuser
를 사용하여 일부 프로세스가이를 완화하기 위해 이미 파이프가 열려 있는지 확인하지만 fuser
가 모든 프로세스를 확인할 수는 없습니다.
지금까지는 파일과 관련된 기본 데이터의 크기 만 고려했습니다.이는 메타 데이터의 크기와 해당 파일을 저장하는 데 필요한 모든 지원 인프라를 고려하지 않습니다.
stat()
에서 반환 된 또 다른 inode 속성은
. 파일의 데이터를 저장하는 데 사용되는 512 바이트 블록의 수입니다 (그리고 때로는 Linux에서 ext4 파일 시스템의 확장 속성과 같은 일부 메타 데이터). “inode 자체 또는 파일이 링크 된 디렉토리의 항목을 포함하지 않습니다.
크기 및 디스크 사용량은 압축, 희소성 (때로는 일부 메타 데이터), 간접 블록과 같은 추가 인프라와 밀접한 관련이있을 필요는 없습니다. 일부 파일 시스템에서는 후자에 영향을 미칩니다.
일반적으로 du
가 디스크 사용량을보고하는 데 사용합니다. 위에 나열된 대부분의 명령은 다음을 수행 할 수 있습니다. 해당 정보를 얻을 수 있습니다.
-
POSIXLY_CORRECT=1 ls -sd -- "$file" | awk "{print $1; exit}"
-
POSIXLY_CORRECT=1 du -s -- "$file"
(디렉터리 제외) 여기에는 디스크 사용이 포함됩니다. e). - GNU
find -- "$file" -printf "%b\n"
-
zstat -L +block -- $file
- GNU
stat -c %b -- "$file"
- BSD
stat -f %b -- "$file"
-
perl -le "print((lstat shift)[12])" -- "$file"
댓글
- 분명히 가장 포괄적이고 정보를 제공하는 답변입니다. 감사합니다. 나는 이것을 사용하여 BSD 및 GNU 통계 정보를 사용하여 크로스 플랫폼 bash 스크립트를 만들 수 있습니다.
- 재미있는 사실 : GNU coreutils
wc -c
는fstat
, 마지막 최대st_blksize
바이트를 읽습니다. 분명히 이것은 Linux ‘의/proc
및 에는 대략적인 통계 크기가 있습니다 . 이것은 정확성에 좋지만 파일의 끝이 메모리가 아닌 디스크에있는 경우에는 좋지 않습니다 (특히 루프의 많은 파일에서 사용되는 경우). 파일이 니어 라인 테이프 스토리지 또는 예를 들어 마이그레이션 된 경우 매우 나쁩니다. FUSE 투명 압축 해제 파일 시스템. - 이것도 작동하지 않을까요
ls -go file | awk '{print $3}'
- @StevenPenny
-go
는 SysV이며, ‘ BSD에서 작동하지 않습니다 (POSIX에서 선택 사항 (XSI)). ‘도ls -god file | awk '{print $3; exit}'
(-d
가 디렉터리에서 작동하려면exit
(대상에 줄 바꿈이있는 심볼릭 링크의 경우). 장치 파일의 문제도 남아 있습니다. - @ αғsнιη Unix API는 텍스트와 바이너리 파일을 구분하지 않습니다. 모든 바이트 시퀀스는 ‘입니다. 일부 응용 프로그램에서는 이러한 바이트를 텍스트로 해석하려고 할 수 있지만 바이트 수를보고하는
wc -c
는 분명하지 않습니다.
Answer
이 스크립트는 파일 크기를 계산하는 다양한 방법을 결합합니다.
( du --apparent-size --block-size=1 "$file" 2>/dev/null || gdu --apparent-size --block-size=1 "$file" 2>/dev/null || find "$file" -printf "%s" 2>/dev/null || gfind "$file" -printf "%s" 2>/dev/null || stat --printf="%s" "$file" 2>/dev/null || stat -f%z "$file" 2>/dev/null || wc -c <"$file" 2>/dev/null ) | awk "{print $1}"
스크립트는 여러 Unix 시스템에서 작동합니다. Linux, BSD, OSX, Solaris, SunOS 등을 포함합니다.
파일 크기는 바이트 수를 나타냅니다. 이것은 파일이 일반 디스크에서 사용하는 바이트로, 특수 압축, 특수 스파 스 영역 또는 할당되지 않은 블록 등을 사용하지 않는 명백한 크기입니다.
이 스크립트에는 더 많은 도움말과 함께 프로덕션 버전이 있습니다. 추가 옵션 : https://github.com/SixArm/file-size
답변
stat 는 최소한의 시스템 호출로이를 수행하는 것으로 보입니다.
$ set debian-live-8.2.0-amd64-xfce-desktop.iso $ strace stat --format %s $1 | wc 282 2795 27364 $ strace wc --bytes $1 | wc 307 3063 29091 $ strace du --bytes $1 | wc 437 4376 41955 $ strace find $1 -printf %s | wc 604 6061 64793
답변
ls -l filename
는 파일 크기, 권한 및 소유자를 포함하여 파일에 대한 많은 정보를 제공합니다.
5 번째 열의 파일 크기이며 바이트로 표시됩니다. 아래 예에서 파일 크기는 2KB 미만입니다.
-rw-r--r-- 1 user owner 1985 2011-07-12 16:48 index.php
편집 : 이것은 stat
명령만큼 신뢰할 수 없습니다.
댓글
-
ls -l
및stat
명령 모두 신뢰할 수있는 크기 정보를 제공한다고 생각합니다. 나는 그 반대에 대한 언급을 찾지 못했습니다.ls -s
는 블록 수로 크기를 제공합니다. - @ dabest1 it ‘ 다른 유닉스에서는 출력이 다를 수 있습니다 (일부 유닉스에서는 그렇습니다).
- 예, IIRC, Solaris는 기본적으로 그룹 이름을 표시하지 않았습니다. ‘ 출력에서 더 적은 열로 이어집니다.
- 크기는 공백으로 둘러싸인 순수한 숫자이고 날짜 연도는 정의 된 형식의 순수한 숫자이므로 정규 표현식을 사용하여 사용자를 처리 할 수 있습니다. + 소유자를 하나의 필드로, 그룹의 존재 여부. (독자를위한 연습입니다!)
답변
du filename
는 디스크 사용량을 바이트 단위로 알려줍니다.
나는 사람이 읽을 수있는 형식으로 크기를 제공하는 du -h filename
를 선호합니다.
댓글
- that 또는
stat -c "%s"
😉 - 이 유형의
du
는 크기를 블록 단위로 인쇄합니다. 단순한 바이트 수가 아닌 1024 바이트입니다. - 표준
du
는 512 바이트 단위로 출력을 제공합니다. GNUdu
는 환경에서POSIXLY_CORRECT
로 호출하지 않는 한 키비 바이트를 대신 사용합니다. - 디렉토리 유형의 파일의 경우 , 디렉토리의 디스크 사용량뿐만 아니라 (재귀 적으로) 다른 모든 파일도 제공합니다.
Answer
위임 할 수있는 쉘 스크립트에 작은 유틸리티 함수를 만듭니다.
예
#! /bin/sh - # vim: set ft=sh # size utility that works on GNU and BSD systems size(){ case $(uname) in (Darwin | *BSD*) stat -Lf %z -- "$1";; (*) stat -c %s -- "$1" esac } for f do printf "%s\n" "$f : $(gzip < "$f" | wc -c) bytes (versus $(size "$f") bytes)" done
@ Stéphane Chazelas의 정보를 기반으로 함 “답변입니다.
댓글
- 파일의 압축률을 확인하려면
gzip -v < file > /dev/null
를 참조하세요. - @St é phaneChazelas는 그것이 개선되었다고 생각하는지 확실하지 않습니다. 이러한 사례 진술은 멍청한 놈을 쉽게 쫓아 낼 수 있습니다. 나는 확실히 그들을 올바르게 만드는 방법을 결코 기억하지 못합니다. 🙂 본질적으로 더 이식 가능한 사례 진술입니다. 두 개 이상의 사례가있을 때 요점을 보았지만 그렇지 않으면 … +
- ‘도 맛의 문제라고 생각합니다. 하지만 여기서는 ‘ ‘
case
를 사용하려는 일반적인 경우입니다. 문.case
는 패턴 일치를 수행하는 Bourne / POSIX 구조입니다.[[...]]
는 ksh / bash / zsh 전용 (변형 포함)입니다.
답변
찾았습니다. AWK 1 라이너, 버그가 있었지만 수정했습니다. 또한 TeraBytes 뒤에 PetaBytes를 추가했습니다.
FILE_SIZE=234234 # FILESIZE IN BYTES FILE_SIZE=$(echo "${FILE_SIZE}" | awk "{ split( "B KB MB GB TB PB" , v ); s=1; while( $1>1024 ){ $1/=1024; s++ } printf "%.2f %s", $1, v[s] }")
stat 가 모든 단일 시스템에있는 것은 아니며 거의 항상 AWK 솔루션을 사용할 수 있습니다. 예; Raspberry Pi에는 stat 가 없지만 awk
.
댓글
- OP가 요청한 내용이 아닌 멋진 작업입니다. li>
답변
저는 wc 옵션이 마음에 듭니다. “bc”와 함께 사용하면 소수점을 원하는만큼 많이 얻을 수 있습니다.
나는 “ls-“의 “파일 크기”열을 awk “로 처리 한 스크립트를 개선하려고했습니다. alh “명령입니다. 정수 파일 크기 만 원하지 않았고 소수점 두 자리가 적합한 것 같았으므로이 토론을 읽은 후 아래 코드를 생각해 냈습니다.
이를 스크립트에 포함하는 경우 세미콜론에서 줄을 끊는 것이 좋습니다.
file=$1; string=$(wc -c $file); bite=${string% *}; okay=$(echo "scale=2; $bite/1024" | bc);friend=$(echo -e "$file $okay" "kb"); echo -e "$friend"
내 스크립트는 “그림 파일 길이 가져 오기”를 위해 gpfl 이라고합니다. GUI jpeg 뷰어에서 사진을 열거 나 다시로드하기 전에 imagemagick의 파일에서 mogrify 를 수행 한 후 사용합니다.
이 비율이 어떻게되는지 모르겠습니다. 이미 제안되고 논의 된 것에서 많은 것을 빌리기 때문에 “답”. 그래서 그대로 두겠습니다.
BZT
댓글
- ” stat ” 또는 ” ls “. 일반적으로 ‘ ” wc “를 사용하여 파일 크기를 가져 오는 것을 좋아하지 않습니다. 물리적으로 전체 파일을 읽습니다. 파일이 많거나 특히 큰 파일이 있으면 시간이 많이 걸릴 수 있습니다.하지만 솔루션은 창의적입니다 … + 1.
- 나는 개념에 동의합니다. ” wc ” 파일 크기이지만 ” wc -c “를 사용하면 데이터가 읽히지 않고 대신 lseek가 사용됩니다. 파일의 바이트 수를 파악합니다. lingrok.org/xref/coreutils/src/wc.c#228
- @ bbaja42 : GNU Coreutils 는
stat.st_size
가 근사치 인 경우 파일의 마지막 블록을 읽습니다 (예 : Linux/proc
및/sys
파일). 그들은 논리를 몇 줄로 추가했을 때 주요 주석을 더 복잡하게 만들지 않기로 결정한 것 같습니다. lingrok.org/xref/coreutils/src/wc.c#246
답변
가장 빠르고 간단한 (IMO) 방법은 다음과 같습니다.
bash_var=$(stat -c %s /path/to/filename)
댓글
- 그런 다음 stat를 언급하는 기존 답변 중 하나 이상에 찬성 투표를합니다. 다시 반복 할 필요가 없습니다 …
- @JeffSchaller 방금 Stephane ‘의 답변에 찬성 투표했습니다.제 목적에 비해 너무 복잡하다고 생각합니다. 그래서 마음이 같은 영혼을 위해이 간단한 답변을 게시했습니다.
- 감사합니다. ‘ ” stat ” 6 인스턴스입니다. / div> 대답은 ‘이 Q를 단순화하지 않습니다. & A, 오히려 새로운 독자가 스스로에게 질문하게 만들 것입니다. “이 답변이 다른 답변과 어떻게 다릅니 까? ” 그러면 더 적은 대신 더 많은 혼란이 발생합니다.
- @JeffSchaller 내 생각에. 하지만 실제로 면책 조항이 있어야하는 및
wc
답변에 대해 불만을 표시 할 수 있습니다. 절대로하지 마십시오 생명. 오늘 밤 실제 응용 프로그램에서 내 대답을 사용했으며 공유할만한 가치가 있다고 생각했습니다. 나는 우리 모두가 어깨를 으쓱 하는 의견을 가지고 있다고 생각합니다.
pv
및cat
(진행률 및 ETA를 표시하는 복사 명령 🙂-s
,if [ -s file ]; then echo "file has nonzero size" ; fi