如何查找文件的大小

时间:2010-07-09 11:30:38

标签: bash

FILE=a.txt 
FILE_SIZE = `stat -c %s $FILE`

if [ $FILESIZE >= 1000  ]; then 

   cp $FILE /tmp/

   # How to empty file ? 

then 

我正在尝试获取文件的大小,如果大小超过限制并且cp那些文件并清空相同的文件

如何实现这一目标?

2 个答案:

答案 0 :(得分:1)

echo > $FILE

但请注意,如果某些内容仍在写入文件,则会丢失cpecho之间的输出。

答案 1 :(得分:1)

你最好做一些事情:

mv ${FILE} ${FILE}.staging

因为那将是接近原子的持续时间。

然后mvtmp传递给${FILE}文件系统,而进程将重新创建新的${FILE}

请注意,如果您有一个长期处理过程写入${FILE}.staging,那么在第一次移动后,它将继续写入{{1}}。

但是,如果你有很多进程打开/写入/关闭你的文件,原子移动可能是最安全的方法。