背景:在linux 服务器上,有时我们想通过命令行的方式替换掉文件中的某个字符串,可以使用sed命令。...具体的命令详情可参考:http://www.runoob.com/linux/linux-comm-sed.html 本例中我们想在linux服务器替换掉如下的 targetHost 的ip 11.125.52.27...:8080 image.png 命令行:sed -i 's/"targetHost":[^,]*/"targetHost":"11.125.26.134:8080"/' config.json ----...-i 可以直接对文本文件进行操作; sed 's/要被取代的字串/新的字串/g', 其中 g 代表全部替代匹配到的内容; 上述命令中,要被取代的字符串【"targetHost":[^,]*】,该正则表达式解释为...:以 "targetHost": 开始,到不是 , 的所有字符;替换为【"targetHost":"11.125.26.134:8080"】; 以上完整命令即可做到替换掉文本中的ip和端口。
知道这些“秘密”代码意味着你可以使用 sed 这样的命令以编程方式替换它们。任何版本的 sed 都可以,所以你可以使用 GNU sed 或 BSD sed,甚至是 Busybox sed。...-i -e "s/[$SDQUO]/\'/g" -e "s/[$RDQUO]/\"/g" "${1}" 将此脚本保存为 fixquotes.sh,然后创建一个包含智能引号的单独测试文件: ‘Single.../fixquotes.sh test.txt$ cat test.txt'Single quote'"Double quote" 安装 sed 如果你使用的是 Linux、BSD 或 macOS,那么你已经安装了...GNU 或 BSD 的 sed。...这是原始 sed 命令的两个独特的重新实现,对于本文中的脚本来说,它们在功能上是一样的(不过并不是所有的脚本都是这样)。
Linux下批量替换多个文件中的字符串的简单方法。用sed命令可以批量替换多个文件中的字符串。...命令如下: sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目录` 例如:我要把 charset=gb2312 替换为 charset=UTF-8,执行命令: sed -...替换每行所有匹配 sed 's/01/Ab/g' test_sed 1234567890 23456789Ab 3456789Ab2 456789Ab23 注意:第一行的0,1没有分别替换为A,b 删除...替换:s命令 $ sed 's/test/mytest/g' example 在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。...$ sed 's#10#100#g' example 不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。表示把所有10替换成100。
要替换字符串,我们需要使用以下格式。 $ sed s/替换的目标字符串/替换后的字符串/ 文件名 在下面我们替换写为“appleorangemelon”的字符串“sample.txt”。...$ sed s/orange/ORANGE/ sample.txt 执行结果为 appleORANGEmelon 替换并输出字符串。...$ cat sample.txt | sed s/apple/APPLE/ 注意,sed命令仅替换字符串并输出它,但不会重写实际文件的内容 如果要将替换的内容保存在文本中,请使用重定向“>”。...sed命令使用的选项 命令选项 说明 -e 替换为指定的脚本 -f 文件 添加指定文件中描述的脚本文件的内容 -r 使用扩展正则表达式 sed命令的使用 替换所有行 在先前介绍的格式中,即使在一个行中存在与多个替换对象字符串匹配的字符串...因此,要替换所有匹配的字符串,请执行以下操作: $ sed -e s/apple/APPLE/g sample.txt 执行结果为 APPLEorangemelonAPPLE 替换行的开头与结尾 $ sed
defasf fsdsas dffa dffadsfs afdasffds [root@localhost wzcs]# sed...www.liezi.net www.liezi.net www.liezi.net www.liezi.net dffadsfs afdasffds [root@localhost wzcs]# sed
全文转载于:http://blog.uouo123.com/post/704.html 这篇文章对我收获巨大,对我对Linux脚本编写有更深层次的理解,恐怕这么好的东西被遗忘,特此全文搬运过来。...文本: aa 88 bb 88 88 cc 88 88 替换第一个88为--: sed '0,/88/s//--/' file sed ':a;N;$!...第二个句子是通过循环把文本全部读进pattern space 然后只替换第一个。 替换第N[3]个88为--: sed '/88/{x;s/^/./;/^\.\{3\}$/{x;s/....第二个命令和上面第一个其实是一样的原理,全部读入文本后统一替换第3个匹配的内容。 替换最后一个匹配的88为--: sed ':a;/\n88/!...» 本文链接:(转载)Linux之sed匹配第N个进行替换 » 转载请注明来源:刺客博客
Linux中使用sed命令替换字符串小结 最近写了几个小脚本用到了sed命令,学了一下,顺便记下 sed替换的基本语法为: 复制代码 代码如下: sed 's/原字符串/替换字符串/' 单引号里面...//自定义分隔符为问号 可以在末尾加g替换每一个匹配的关键字,否则只替换每行的第一个,例如: 复制代码 代码如下: sed 's/原字符串/替换字符串/' //替换所有匹配关键字 上箭头”^...,例如: 复制代码 代码如下: sed 's/^/添加的头部&/g' //在所有行首添加 sed 's/$/&添加的尾部/g' //在所有行末添加 sed '2s/原字符串/替换字符串/g' /.../替换第2行 sed '$s/原字符串/替换字符串/g' //替换最后一行 sed '2,5s/原字符串/替换字符串/g' //替换2到5行 sed '2,$s/原字符串/替换字符串/g' //替换...2到最后一行 替换样式可以多个在同一条命令中执行,用分号”;”分隔,例如: 复制代码 代码如下: sed 's/^/添加的头部&/g;s/$/&添加的尾部/g' //同时执行两个替换规则 sed
用 sed 替换智能引号 计算机并不是打字机。当你按下键盘上的一个键时,你不是在按一个带有印章的控制杆。你只是按下一个按钮,向你的计算机发送一个信号,计算机将其解释为一个显示特定预定义字符的请求。...知道这些“秘密”代码意味着你可以使用 sed 这样的命令以编程方式替换它们。任何版本的 sed 都可以,所以你可以使用 GNU sed 或 BSD sed,甚至是 Busybox sed。...-i -e "s/[$SDQUO]/\'/g" -e "s/[$RDQUO]/\"/g" "${1}" 将此脚本保存为 fixquotes.sh,然后创建一个包含智能引号的单独测试文件: ‘Single.../fixquotes.sh test.txt $ cat test.txt 'Single quote' "Double quote" 安装 sed 如果你使用的是 Linux、BSD 或 macOS,...那么你已经安装了 GNU 或 BSD 的 sed。
Well cat readme.txt | sed '2,4c ******' ## 会发现三行转变成一行 cat readme.txt | sed 's/is/IS' ## 默认替换第一个 cat readme.txt...| sed 's/is/IS/g' ##t 替换全部 cat readme.txt | sed ‘1~3s/ee/EE’ ##1 4 7 ...行的默认第一个ee替换成EE cat readme.txt...| sed '/www/ s/ee/EE' ## 匹配到有www的那一行进行替换 cat readme.txt | sed ‘/ee/p’ ## 有ee那一行多打印一次 cat readme.txt...HAVANA/ENSEMBL_/g' cat Data/example.fa | head | sed '2,$y/ATCG/TAGC/' cat Data/md5.txt | sed '1d'...head -2 Data/example.fa | sed '1d' | sed 'y/ATCG/TAGC/' | rev ##反向互补序列 head Data/example.fa | sed '1d
[root@localhost ~]# sed -n '/first/{ > h > p > n > p > g > p > }' data2 This is the first data line....反转行 [root@localhost ~]# sed -n '{1!G;h;$p}' data2 This is the last line....第一个替换命令会查找模式文本first.如果他匹配了行中的模式,他会替换文本,而且测试命令会跳过后面的替换命令。如果第一个替换命令未能匹配模式,第二个命令就会被执行。...[root@pppoe ~]# echo "The cat sleeps in his hat." | sed 's/.at/".at"/g' The ".at" sleeps in his ".at"...解决此问题引入&符号 [root@pppoe ~]# echo "The cat sleeps in his hat." | sed 's/.at/"&"/g' The "cat" sleeps in
Linux 命令 sed 命令解析 sed 是一种流编辑器,主要用来对文本进行替换、删除、新增、选取等操作。...sed 的一般形式如下: sed [options] 'command' filename options是可选参数 command是要执行的操作命令 filename是要处理的文件名。...I'm studying sed. 现在要用 sed 命令将其中的第一行 Hello world! 替换为 Hi there!...源码演示: sed '1s/Hello/Hi there/' test.txt Linux 命令 sed 命令注意事项 sed 命令一般不会对原始文件进行修改,而是将修改后的结果输出到标准输出流中,如果需要修改原始文件...sed 命令支持多种操作符,如查找、替换、删除、插入等操作。 sed 命令可以通过正则表达式进行模式匹配,以实现更灵活的操作。
sed -i "s/zhangsan/lisi/g" `grep zhangsan -rl /modules` 解释一下: -i 表示inplace edit,就地修改文件 -r 表示搜索子目录...4567890123 (2)替换每行所有匹配 sed 's/01/Ab/g' test_sed 1234567890 23456789Ab 3456789Ab2 456789Ab23 注意:...$ sed 's/test/mytest/g' example-----在整行范围内把test替换为mytest。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。...$ sed 's#10#100#g' example-----不论什么字符,紧跟着s命令的都被认为是新的分隔符,所以,“#”在这里是分隔符,代替了默认的“/”分隔符。...$ sed -e '/test/h' -e '$G example-----在sed处理文件的时候,每一行都被保存在一个叫模式空间的临时缓冲区中,除非行被删除或者输出被取消,否则所有被处理的行都将打印在屏幕上
/bin/sed -nf /Manager/!h /Manager/{g;p} 修改脚本文件的模式为可执行 chmod u+x g.sed 执行脚本 #....G 和 g 的用法类似于 H 和 h,小写命令替换原来的内容,大写命令追加原来的内容。...s/\n/:/ 在模式空间中,把换行符替换为冒号。 p 打印模式空间内容。 完整的执行流程如下表所示。...: #echo -e "line1\nline2\nline3\nline4\nline5" | sed '=' | sed 'N;s/\n/ /g;s/^/ /g;' | sed -n '1...s/^/ /g; 命令将 \n 替换成两个空格,并在行头添加四个空格,为的是让输出和 cat -n 完全一样。
通常 p 会与参数 sed -n 一起运行~ s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!...数据的搜寻并替换 除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!...*addr://g' | sed 's/Bcast....*$//g' 192.168.1.100 多点编辑 一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为blueshell nl /etc/passwd | sed -e '.../g' regular_express.txt 利用 sed 直接在 regular_express.txt 最后一行加入『# This is a test』 [root@www ~]# sed -i
Linux命令之sed 在开始写文章之前,再次重复那句话:sed,grep和awk被称之为Linux三剑客。...这句话我一直在强调,足以说明这三个命令在linux中的重要性,废话不多说,今天我们来看看sed的一些操作。...可以使用高级命令h,H,g,G与模式空间进行交互。 可能看完这两个概念,还是比较难懂,这里我们使用一个例子来说明一下。...yeyz{ yeyzdd, yeyzdd, yeyzdd, yeyzdd } 也就是说,它将下一行和本行作为一行来理解,然后两行之间仍然有\n的换行符,然后使用s命令替换...; this is line ; this is line ; [dba_mysql /tmp]$cat aaa.txt | sed G this is line ; this is line ;
查看主机的配置 1.1 查看主机的cpu配置 # cat /proc/cpuinfo |grep "cores"|uniq cpu cores : 10 1.2 查看主机的内存配置 # free -g...2.1 查看文件的大小 $ du -sh an_pb_baseinfo_2017.csv 32G an_pb_baseinfo_2017.csv 2.2 查看文件的行数 $ wc -l an_pb_baseinfo...bin/bash soh=`echo 1 | awk '{printf("%c", $1)}'` echo "sed 把soh隐藏字符替换成空用时......" time sed -i 's/'$soh...'//g' $1 echo "tr 删掉soh隐藏字符用时......" time cat $1|tr -d $soh >> an_pb_baseinfo_2017_tr.csv 5 执行脚本查看耗时...an_pb_baseinfo_2017.csv sed 把soh隐藏字符替换成空用时...... real 9m16.755s user 1m36.441s sys 3m27.204s tr 删掉soh
's/test/trial/' data5 默认情况下substitute命令在替换多行中的文本时能正常工作,但默认情况下他只替换每行中出现的第一处。...要让替换命令对一行中不同的地方出现的文本都起作用,必须使用替换标记(substitution flag).替换标记会在替换命令字符串之后设置。...s/pattern/replacement/flags 有四种替换标记 1、数字 表明新文本将替换地挤出模式匹配的地方 2、g 表明新文本将会替换所有已有文本出现的地方 3、p 表明原来行的内容要打印出来...4、 w file 将替换的结果写到文件中 [root@pppoe ~]# cat data5 This is a test line this is a different line [root@pppoe...the lazy cat The quick brown fox jumps over the lazy cat The quick brown fox jumps over the lazy cat 替换
声明 参数详解 参数d以行为单位删除功能 参数a i 新增内容 以行为单位替换c和显示p 参数s 查找和替换 使用sed直接修改文件 声明 引用自鸟哥私房菜。...参数详解 [root@linux ~]# sed [-nefr] [动作] 参数: -n :使用安静(silent)模式。...以行为单位替换c和显示p 替换2到5行 [root@localhost ~]# nl /etc/passwd | sed '2,5c 2-5 no data' 显示10~20行 [root@localhost...参数s 查找和替换 sed ‘s/要被替换的字符串/新的字符串/g’ [root@localhost ~]# /sbin/ifconfig ens160 ens160: flags=4163<UP,BROADCAST...*inet//g' | sed 's/netmask.
/You/g' datafile #命令末端的g表示在行内进行全局替换,也就是说如果某行出现多个My,所有的My都被替换为You,打印全部结果。 ...sed 's/^My/You/g' datafile #命令末端的g表示在行内进行全局替换,匹配My打头的行,并将行首的My替换为You,打印全部结果。 ...sed 's#My#Your#g' datafile #紧跟在s命令后的字符就是查找串和替换串之间的分隔符。分隔符默认为正斜杠,但可以改变。...6.11 y 命令 该命令与 UNIX/Linux 中的 tr 命令类似,字符按照一对一的方式从左到右进行转换。...sed -e '/hrwang/H' -e '$g' datafile sed -e '/hrwang/H' -e '$G' datafile #通过上面两条命令,你会发现g把暂存缓冲区中的内容替换掉了模式空间中当前行的内容
echo "111(222)333" | sed 's/(\(.*\))\(.*\)/\2\2\2/' \1 \2 表示匹配的第几个() 在进行模式匹配时,() 需要加转义符号\ , 不加\ 表示匹配原生
领取专属 10元无门槛券
手把手带您无忧上云