Bash 如何找到文件的大小
我试图得到文件的大小,如果大小是过度限制和cp这些文件和空相同的文件 如何实现这一点Bash 如何找到文件的大小,bash,Bash,我试图得到文件的大小,如果大小是过度限制和cp这些文件和空相同的文件 如何实现这一点 FILE=a.txt FILE_SIZE = `stat -c %s $FILE` if [ $FILESIZE >= 1000 ]; then cp $FILE /tmp/ # How to empty file ? then 但请注意,如果仍有内容写入文件,则会丢失cp和echo之间发生的输出。您最好执行以下操作: echo > $FILE 因为它的持续时间接近
FILE=a.txt
FILE_SIZE = `stat -c %s $FILE`
if [ $FILESIZE >= 1000 ]; then
cp $FILE /tmp/
# How to empty file ?
then
但请注意,如果仍有内容写入文件,则会丢失
cp
和echo
之间发生的输出。您最好执行以下操作:
echo > $FILE
因为它的持续时间接近原子级
然后mv
将其保存到tmp
文件系统,然后进程将重新创建一个新的${FILE}
请记住,如果有一个长期的进程写入${FILE}
,它将在第一次移动后继续写入${FILE}.staging
但是,如果有很多进程打开/写入/关闭文件,那么原子移动可能是最安全的方法
mv ${FILE} ${FILE}.staging