gpt4 book ai didi

linux - 从 txt 文件中搜索并替换许多文件?

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

我有一个制表符分隔的文本文件,如下所示

1       283
28 316
128 288

大约有 2000 行,其中第一列是我想要搜索的数字,第二列是我要替换的数字。我想以递归方式对目录中的约 400 个文本文件执行此搜索和替换。

问题

使用 Bash 和/或 Perl,最简单的方法是什么?

更新

我用它来测试

rm -fr /tmp/a
mkdir -p /tmp/a/1/2
echo -e "1\n28\n128\n2" > /tmp/a/f.ext
echo -e "1\n28\n128\n2" > /tmp/a/1/f.ext
echo -e "1\n28\n128\n2" > /tmp/a/1/2/f.ext

最佳答案

bash 中未经测试的解决方案:

awk '{print "old="$1" new="$2}' list.txt |\
while IFS= read line; do
declare $line
find /path -name '*.ext' -exec sed -i "s/\b$old\b/$new/" {} +
done

未经测试

关于linux - 从 txt 文件中搜索并替换许多文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28771364/

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