FILE=a.txt
FILE_SIZE = `stat -c %s $FILE`
if [ $FILESIZE >= 1000 ]; then
cp $FILE /tmp/
# How to empty file ?
then
我试图获取文件的大小,如果大小超过限制和CP这些文件并清空同一文件如何找到文件的大小
如何达致这?
FILE=a.txt
FILE_SIZE = `stat -c %s $FILE`
if [ $FILESIZE >= 1000 ]; then
cp $FILE /tmp/
# How to empty file ?
then
我试图获取文件的大小,如果大小超过限制和CP这些文件并清空同一文件如何找到文件的大小
如何达致这?
你可能会更好做这样的事情:
mv ${FILE} ${FILE}.staging
,因为那将是持续时间接近原子。
然后mv
它到tmp
文件系统之后,而进程将重新创建${FILE}
。
请记住,如果你有一个很长的过程住书面${FILE}
,将继续第一招后,写信给${FILE}.staging
。
但是,如果您只是有很多打开/写入/关闭文件的进程,那么原子移动可能是最安全的方法。
echo > $FILE
但要知道,如果事情仍是写入文件,你就会失去了cp
和echo
之间发生的输出。