我想将文件大小变为变量?怎么做?
ls -l | grep testing.txt | cut -f6 -d' '
给出了大小,但是如何将它存储在shell变量中?
答案 0 :(得分:19)
filesize=$(stat -c '%s' testing.txt)
答案 1 :(得分:4)
你可以用ls
这样做(检查-s的意思的手册页)
$ var=$(ls -s1 testing.txt|awk '{print $1}')
或者您可以将stat
与-c '%s'
或者您可以使用find(GNU)
$ var=$(find testing.txt -printf "%s")
答案 2 :(得分:3)
size() {
file="$1"
if [ -b "$file" ]; then
/sbin/blockdev --getsize64 "$file"
else
wc -c < "$file" # Handles pseudo files like /proc/cpuinfo
# stat --format %s "$file"
# find "$file" -printf '%s\n'
# du -b "$file" | cut -f1
fi
}
fs=$(size testing.txt)
答案 3 :(得分:1)
size=`ls -l | grep testing.txt | cut -f6 -d' '`
答案 4 :(得分:0)
您可以使用命令wc
获得文件大小(以字节为单位),这在Linux系统中非常常见,因为它是GNU coreutils的一部分
wc -c < file
在bash脚本中,您可以将其读取为这样的变量:
FILESIZE=$(wc -c < file)
来自man wc
:
-c, --bytes
print the byte counts
答案 5 :(得分:-1)
a=\`stat -c '%s' testing.txt\`;
echo $a