gpt4 book ai didi

perl - 如何替换文件中的字符串并将其作为另一个文件替换为 "save"

转载 作者:行者123 更新时间:2023-11-29 09:11:31 24 4
gpt4 key购买 nike

我正在尝试替换一堆 *.txt 文件中的字符串。我熟悉这个命令:

find "$folder" -type f -name '*.txt' -exec sed -i 's/REPLACEFROM/REPLACETO/g' {} \;

但是,这(根据 -i 标志)替换了字符串。

我想做的是保持所有原始文件完好无损,并将更改后的文件“保存”为“file1-renamed.txt”、“file2-renamed.txt”...

最快最优雅的方法是什么?也许是 perl?

我确信这是非常基本的,但对我来说似乎很难。 :)

预先感谢您的帮助。

最佳答案

有了sed,你可以使用

 sed -i.back

这样,原文件会被移动到*.back

或者使用此片段作为您的问题最接近:

find "$folder" -type f -name '*.txt' -exec bash -c '
cp "$1" "${1%.*}-renamed.txt"
sed -i 's/REPLACEFROM/REPLACETO/g' "${1%.*}-renamed.txt"
' -- {} \;

关于perl - 如何替换文件中的字符串并将其作为另一个文件替换为 "save",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9234852/

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