linux shell文件大小

时间:2010-02-10 10:42:21

标签: linux shell

我想将文件大小变为变量?怎么做?

ls -l | grep testing.txt | cut -f6 -d' '

给出了大小,但是如何将它存储在shell变量中?

6 个答案:

答案 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