2011-03-17 51 views
3

我有以下脚本手刹文件夹追加RM到一个发现声明

find "$TRANSCODEDIR"/* -type f -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%\.*}".mp4 --preset="$PRESET"' __ {} \; 

我想被附加到这条线RM(删除)结束命令,所以当Hanbrake与文件中完成删除它。

回答

4

您可以通过多个-exec开关找,怎么样:

find "$TRANSCODEDIR"/* -type f -exec bash -c 'HandBrakeCLI -i "$1" -o "${1%.*}".mp4 --preset="$PRESET"' __ {} \; -exec rm {} \; 
+0

你确定你可以相信,没有'rm'文件太早了?打开后删除它不应该是一个问题(虽然我不熟悉HandBrake),但在打开它之前可能会被删除。 – 2011-03-17 19:10:32

+0

@ Dennis:这些'-exec'选项结合在一起,这意味着只有第一个返回true(0)时才会发生第二个'-exec'。 – freiheit 2011-03-17 21:16:19

1
find .... -exec bash -c 'HandBrake .... --preset="$PRESET"; rm "$1"' __ {} \; 
+0

你可能想要做'HandBrake ... && rm ...'(虽然我不知道这里是否需要)。 – 2011-03-17 19:11:23

+0

+1无论如何,当你启动一个shell时,最好使用多个'-exec'选项。 – tripleee 2014-08-19 04:55:28