gpt4 book ai didi

linux - 查找并替换树中的字符串。递归

转载 作者:太空宇宙 更新时间:2023-11-04 03:35:41 25 4
gpt4 key购买 nike

我尝试在这里寻找答案,并找到了一些答案,但它们似乎对我不起作用。我想重命名一个项目文件,我发现最简单的方法是替换每个文件中的名称以及目录中的每个文件名。

有人可以给我指出一种方法(在 Windows 或 Linux 中),用另一个字符串递归地替换目录中每个文件和每个文件名中的字符串吗?

我将不胜感激所有的帮助。

最佳答案

重击

在 Unix 中,您可以在 bash shell 中执行此操作。您必须使用 findmvsed 以及以下三个命令作为示例:

  1. 将每个目录的名称中的字符串“ABC”替换为“345”在当前目录或子目录中递归。

    find . -depth -type d -name "*ABC*" -exec bash -c 'dir=${1%/*} base=${1##*/}; mv "$1" "$dir/${base//ABC/345}"' par0 {} \;
  2. 将每个文件的名称中的字符串“ABC”替换为“345”当前目录或子目录中递归。

    find . -depth -type f -name "*ABC*" -exec bash -c 'dir=${1%/*} base=${1##*/}; mv "$1" "$dir/${base//ABC/345}"' par0 {} \;
  3. 将每个文件的内容中的字符串“ABC”替换为“345”在当前目录或子目录中递归。

    find . -depth -type f -name "*" -exec bash -c 'sed -i "s/ABC/345/g" "$1"' par0 {} \;

关于linux - 查找并替换树中的字符串。递归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31675168/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com