2015-06-26 96 views
1

我有這樣的命令:bash腳本 - 管道命令呼應

echo rm $(find "$SD" -type f -mtime "+$MT" -name "*.$TY" -print) >> ${LOGFILE} 

和它打印

rm /u01/oradata/logs/dwf_monitor_datafile.dbf.gz /u01/oradata/logs/dws_monitor_datafile.dbf.gz /u01/oradata/logs/dwd_monitor_datafile.dbf.gz 

我想它,而不是打印

rm /u01/oradata/logs/dwf_monitor_datafile.dbf.gz 
rm /u01/oradata/logs/dws_monitor_datafile.dbf.gz 
rm /u01/oradata/logs/dwd_monitor_datafile.dbf.gz 

如何,在adcance感謝。

回答

3

如果您確實要刪除這些文件,則應使用find的-delete命令。如果你只是想顯示好看的輸出,然後嘗試:

find "$SD" -type f -mtime "+$MT" -name "*.$TY" -exec echo rm {} \; >>${LOGFILE} 
+0

我已經這樣做,我只是想生成手動刪除後來此代碼。你從日誌中剪下的東西粘貼到命令行並運行實際。數據可能會改變這就是爲什麼。 – user1918074

+0

@ user1918074您是否在我的答案中嘗試了'find'命令?它的輸出以什麼方式不能滿足你的目的? – John1024

+0

哦,是的,沒有注意到回聲,非常好!非常感謝你 !!! – user1918074