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
之間發生的輸出。