sed替换的基本语法为:----s后面跟的是分隔符,原字符串可使用.*这种正则表达式进行整行替换 代码如下: sed 's/原字符串/替换字符串/' 单引号里面,s表示替换,三根斜线中间是替换的样式,特殊字符需要使用反斜线"\"进行转义,但是单引号"'"是没有办法用反斜线"\"转义的,这时候只要把命令中的单引号改为双引号就行了,例如: 代码如下: sed "s/原字符串包含'/替换字符串包含'/" //要处理的字符包含单引号
shell sed 替换功能 f1 = open('yesterday','r',encoding='utf-8') f2 = open('yesterday2','w',encoding='utf-8') for line in f1: if '噢 昨日当我年少轻狂'in line: line = line.replace('噢 昨日当我年少轻狂','啦啦啦啦啦啦啦啦啦') f2.write(line) f1.close() f2.close() 要替换的文件: Somehow, it see
说明:过滤换行符确实有点吭,不是那么好弄.处理文本时需要将换行符替换为空格,若使用sed命令会比较麻烦,而使用tr命令非常方便. 输入文本(country.txt) China America France German sed命令 cat country.txt | sed ':label;N;s/\n/ /;b label' tr命令 cat country.txt | tr "\n" " " 两个命令输出一致,但是sed命令的输出结尾有换行符,而tr命令的输出
通过脚本传参数可以实现替换 # -*-coding:utf-8-*- # Author:sunhao import sys f = open('yesterday','r',encoding='utf-8') f_new = open('yesterday.bak','w',encoding='utf-8') find_str=sys.argv[1] replace_str=sys.argv[2] for line in f: if find_str in line: line=line.rep
#coding:utf-8 from pygame.draw import lines import sys,os old_file = sys.argv[1] #接受外部设备上的参数 new_file = sys.argv[2] old_yes=open('yes.txt','r') replace_yes=open('yes1.txt','a+') lines=old_yes.readlines() #将硬盘中的文件内容赋值给内存变量 # print lines for line in li
通常sed指令修改行内容时使用:sed -i " 9 s/^.*/"type in what you want modified!"/" 其中"type in what you want modified!"为替换后希望得到的内容. 由于用作替换的字符串里面不包括与sed替换格式相同的"/",因此可以正常使用. But,当希望通过sed方式修改配置文件中的目录时,由于用作替换的目录字符换(datapath=/home/data
echo "Cfoo'barxml" | sed "s/'/::/g" | sed 's/::/\\:/g' | sed "s/:/'/g" 替换单引号为 \' ------------------------ sed 替换单引号' echo "mmm'sss" > testcat test 把test内容中单引号替换成双引号sed 's/'"'"/'"''/g' test ==