我想找到所有具有特定DOCTYPE的* .xml文件,并将后缀从.xml更改为.dita。
我可以列出执行此操作的文件
find . -type f -name '*.xml' -exec grep --files-with-matches '<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA' {} +
但是我不清楚将其用管道传输到可以执行所需重命名的mv命令中。
答案 0 :(得分:0)
由@betabandido的Modifying replace string in xargs启发:
尝试添加| xargs -n 1 -i sh -c 'echo mv $1 ${1%.xml}.dita' -- {}
,如果输出看起来不错,请删除echo
,并假设sh
实际上是bash
,因为它被标记为linux
。