【问题标题】:How do I change the suffix of all files that contain a specific string如何更改包含特定字符串的所有文件的后缀
【发布时间】:2020-04-14 09:35:34
【问题描述】:

我想查找所有具有特定 DOCTYPE 的 *.xml 文件并将后缀从 .xml 更改为 .dita。

我可以列出这样做的文件:

find . -type f -name '*.xml' -exec grep --files-with-matches '<!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA' {} +

但我不清楚是否将其通过管道传输到将执行所需重命名的 mv 命令中。

【问题讨论】:

标签: linux grep find


【解决方案1】:

灵感来自@betabandido 的Modifying replace string in xargs

尝试添加| xargs -n 1 -i sh -c 'echo mv $1 ${1%.xml}.dita' -- {},如果输出正常,删除echo,假设sh实际上是bash,因为标记为linux

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-27
    • 1970-01-01
    • 2022-07-19
    • 2014-06-07
    • 2012-07-19
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多