gpt4 book ai didi

linux - 使用文件作为搜索和替换的输入来查找和替换 shell

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:32:27 24 4
gpt4 key购买 nike

我需要替换一些 php 脚本中的几段文本...

我有:

find . -name 'products.php' -exec grep --silent 'TEXT_TO_FIND' {} \; -exec ls {} \; -exec sed -i 's/TEXT_TO_FIND/REPLACE_TEXT/g' {} \;

这项工作,但我有大约 2 或 3 行的文本..

所以我记得用我的查找文本创建一个 find.txt 并用替换文本创建另一个 replace.txt..

我的问题是..我如何使用这些文件作为上述命令的输入..

类似于:

find . -name 'products.php' -exec grep --silent `cat find.txt` ...

最好的问候布鲁诺

最佳答案

您可能必须使用比 pure-bash/coreutils 更面向数据的东西。如果您可以在您的网站上访问 Python:

#!/bin/python
with open("find.txt","r") as f:
fs = f.read().trim("r")

with open("replace.txt","r") as f:
rs = f.read().trim()


# you probably have to loop other the following lines
# Once for every file:
with open("src.txt","r") as f:
src = f.read()

modified = src.replace(fs,rs)
if modified := src:
with open("src.txt","w") as f:
f.write(modified)

这只是一个起点。您可能必须改进它。如果您遇到问题,请随时提出其他问题!


这是我的测试成绩单:

sh$ cat src.txt 
AAA
BBB
CCC
DDD
CCC
DDD
EEE
FFF
sh$ cat find.txt
CCC
DDD
EEE
sh$ cat replace.txt
XXX
YYY
ZZZ
sh$ python m.py
sh$ cat src.txt
AAA
BBB
CCC
DDD
XXX
YYY
ZZZ
FFF

关于linux - 使用文件作为搜索和替换的输入来查找和替换 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24756734/

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