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