如何在linux环境下实现txt文本的字符串替换

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在linux环境下实现txt文本的字符串替换相关的知识,希望对你有一定的参考价值。

类似http://zhidao.baidu.com/question/73167582.html功能,最好有高手帮忙改成linux环境下的批处理程序。 '批量文件字符串替换器 'Created By 千寂孤城 'on error resume next set arg=WScript.Arguments if arg.count=0 then msgbox "Usage:"&vbcrlf&vbcrlf&" 不要直接运行这个脚本,把需要进行字符串替换的一个或多个文件拖曳到这个脚本文件上来就可以了。",,"批量文件字符串替换器 By 千寂孤城" wscript.quit end if do content1=inputbox("请输入你要替换的字符串","批量文件字符串替换器") if isempty(content1) then respond=msgbox("EXIT?",1) if respond=1 then wscript.quit end if elseif content1<>"" then exit do end if msgbox "你没有输入你要替换的字符串呀!",,"批量文件字符串替换器" loop do content2=inputbox("想把"""&content1&"""替换成什么呀?","批量文件字符串替换器") if isempty(content2) then respond=msgbox("EXIT?",1) if respond=1 then wscript.quit end if else exit do end if loop set fso=createobject("scripting.filesystemobject") for i=0 to arg.count-1 name=arg(i) set file=fso.opentextfile(name,1) if file.AtEndOfStream<>true then content=file.readall file.close content=replace(content,content1,content2) set file=fso.opentextfile(name,2) file.write content file.close else file.close end if next msgbox "OK 替换结束!",,"批量文件字符串替换器"

参考技术A #!/usr/bin/python
import
sys
fin=open(sys.argv[1])
fout=open(sys.argv[1]+'.new',"w")
line=fin.readline()
while
line!='':
line=line.replace(sys.argv[2],sys.argv[3])
fout.write(line)
line=fin.readline()
fin.close()
fout.close()
各linux里基本都有python的,将上面保存为rp.py,替换某文件中字符串格式
./rp.py
~/tmp.txt
aaa
xxx
将自己家目录中的tmp.txt中所有aaa替换为xxx
新产生的文件也在tmp.txt目录中,叫tmp.txt.new

linux在shell下如何将字符串写入文件?

参考技术A 可以使用echo命令将文本流导向标准输出,然后再使用>符号重新定向标准输出到文件。\\x0d\\x0a用法示例:\\x0d\\x0a将字符串"hello world"写入文件file.txt中\\x0d\\x0a$ echo "hello world" > file.txt\\x0d\\x0a然后再尝试用cat命令从读取文件并写入到标准输出,可以看到字符串已经成功写入文件。\\x0d\\x0a$ cat file.txt

以上是关于如何在linux环境下实现txt文本的字符串替换的主要内容,如果未能解决你的问题,请参考以下文章

linux下sed命令对文件执行文本替换

linux下如何将第一行中指定的字符全部替换掉

linux sed 替换

linux在shell下如何将字符串写入文件?

linux sed命令替换特定字符之后的字符

linux下如何获得特定字符串前后几行文本