2010-07-09 68 views
0
FILE=a.txt 
FILE_SIZE = `stat -c %s $FILE` 

if [ $FILESIZE >= 1000 ]; then 

    cp $FILE /tmp/ 

    # How to empty file ? 

then 

我试图获取文件的大小,如果大小超过限制和CP这些文件并清空同一文件如何找到文件的大小

如何达致这?

回答

1

你可能会更好做这样的事情:

mv ${FILE} ${FILE}.staging 

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

然后mv它到tmp文件系统之后,而进程将重新创建${FILE}

请记住,如果你有一个很长的过程住书面${FILE},将继续第一招后,写信给${FILE}.staging

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

1
echo > $FILE 

但要知道,如果事情仍是写入文件,你就会失去了cpecho之间发生的输出。

相关问题