2015-06-26 2 views
1

У меня есть эта команда:Bash Script - Piping команды эхо

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

Смежные вопросы