如何查找文件的大小并将其分配给UNIX中的变量

Abd*_*n M 1 unix shell scripting awk

我正在编写一个UNIX脚本来读取文本文件的大小,如果文件有一定大小,它应该打印文本文件.如果不是,则执行else循环并继续该过程.

我使用以下命令来查找该文本文件的大小.

ls -l ${filepath}/{filename}.lst | awk '{print $5}'
Run Code Online (Sandbox Code Playgroud)

如何将其分配给脚本中的变量并将其置于if条件中?
或者示例if条件应该是这样的if[$var==461]吗?

或者是否有任何其他命令我可以用来查找文件的大小?

Mar*_*ler 7

您可以使用stat无需使用的命令awk.

例如在linux中使用bash,其中myfile是你的文件路径:

sz=$(stat -c '%s' myfile)
if [ $sz -eq 100 ]; then
    echo "myfile is 100 bytes"
fi
Run Code Online (Sandbox Code Playgroud)

就拿笔记平等命令-eq这是在bash的算术二元运算符.

或者,您可以使用变量作为文件路径:

f=my/file/path
sz=$(stat -c '%s' $f)
if [ $sz -eq 100 ]; then
    echo "$f is 100 bytes"
fi
Run Code Online (Sandbox Code Playgroud)