2013-05-29 22 views
0

我在find命令後得到了一個文件列表。現在,需要從命令中刪除現有的歸檔文件並追加這些文件。在tarball中查找並追加新文件

查找/ U01 /應用/(-name '.log0' -o -name '.out0')-atime +30

返回的.out和列表。日誌文件。現在,需要刪除tarball中的現有文件(手動創建)並追加新文件。

怎麼辦?

我使用Google搜索,但無法根據此要求找到合適的結果。

回答

0

你介意兩次使用find命令嗎?第一個刪除文件,然後再添加一個文件? 這可以幫助(也許你應該做一些調整):

find /u01/apps/ (-name '.log0' -o -name '.out0') -atime +30 -printf %P\\n | xargs tar -f foobar.tar --delete 

然後:

find /u01/apps/ (-name '.log0' -o -name '.out0') -atime +30 -printf %P\\n | xargs tar -f foobar.tar -r 
+0

感謝cesarrse,道歉,我以前也說過了,我準備將它添加到crontab中,所以printf woulodnot br有用,而且我的ksh沒有--delete選項tar :( – coolmego

+0

嗯...你可以嘗試將所有文​​件提取到臨時目錄,用他們的新版本替換舊的,最後,緊湊的一切,既不優雅也不緊湊的解決方案,但它應該工作。 – cesarse