这对我有用:
$> find . -name "*.log" -exec basename '{}' \;
20160114.log
20160115.log
20160116.log
20160117.log
20160118.log
是{}
,\
和';'使用-exec
时必须使用{1}},因为任何其他语法都不起作用?
以下更复杂的示例不起作用:
$> find . -name "*.log" -exec echo $(basename '{}') \;
./log/20160114.log
./log/20160115.log
./log/20160116.log
./log/20160117.log
./log/20160118.log
echo
这里只是为了演示。我最终计划在它的位置使用类似rm $TARGET_DIR/$(basename '{}')
的东西......它不会那样工作(嵌套)。有什么想法吗?