Linux Shell编程。实现搜索、查找和替换技术
我必须在shell编程(Unix/Linux)中实现一个应用程序 我必须从文本文件中搜索一个单词,并用我给定的单词替换该单词。我对壳牌有一定的了解,并且还在学习 我不期待源代码。有谁能帮我或给我建议或给我一些类似的解决方案吗Linux Shell编程。实现搜索、查找和替换技术,linux,shell,unix,replace,find,Linux,Shell,Unix,Replace,Find,我必须在shell编程(Unix/Linux)中实现一个应用程序 我必须从文本文件中搜索一个单词,并用我给定的单词替换该单词。我对壳牌有一定的了解,并且还在学习 我不期待源代码。有谁能帮我或给我建议或给我一些类似的解决方案吗 cat abc.txt | grep "pattern" | sed 's/"pattern"/"new pattern"/g' 上面的命令应该可以工作 谢谢 问候, Dheeraj Rampally说您正在一个文件(input.txt)中查找模式,并想在另一个文件(o
cat abc.txt | grep "pattern" | sed 's/"pattern"/"new pattern"/g'
上面的命令应该可以工作
谢谢
问候,
Dheeraj Rampally说您正在一个文件(
input.txt
)中查找模式,并想在另一个文件(output.txt
)中将其替换为“新模式”
)
以下是在没有UUOC的情况下的主要思想:
<input.txt sed 's/"pattern"/"new pattern"/g' >output.txt
。。。但是echo
命令删除换行符。。。还在看
编辑2
从一开始,它看起来就像是一次写入同一个文件,一点也不容易。但是,我可以使用sed-I
做我想做的事情,只需:
从中,似乎没有其他选择,您必须使用临时文件:
sed 's/pattern/"new pattern"/g' input.txt > input.tmp && mv input.tmp input.txt
例如,您可以使用grep
查找文件中的文本,find
查找文件,sed
进行替换。检查每个问题的手册页(mangrep
,mansed
。embedded linux
对于这个问题似乎是一个奇怪的标签,就像linux内核
你想看看sed,尤其是它的s命令一样。我闻到了一个“无用的使用cat”奖…;-)
echo $(<input.txt sed 's/pattern/"new pattern"/g')>input.txt
sed -i 's/pattern/"new pattern"/g' input.txt
sed 's/pattern/"new pattern"/g' input.txt > input.tmp && mv input.tmp input.txt