添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
昨天写一个脚本花了一天的2/3的时间,而且大部分时间都耗在了 sed 命令上,今天不总结一下都对不起昨天流逝的时间啊~~~用 sed 命令在行首或行尾 添加 字符的命令有以下几种:假设处理的 文本 为test.file在每行的头 添加 字符,比如"HEAD",命令如下: sed 's/^/HEAD&/g' test.file在每行的行尾 添加 字符,比如“TAIL”,命令如下: sed 's/$/&TAIL/... sed 是stream editor(流编辑器)的缩写。它能够完美匹配正则表达式。 sed 和awk是文件编辑最重要的两个命令了。尤其涉及到了很多正则表达式的问题,笔者不敢也有点犯怵,试着写写。 1.替换文件中的 字符串 $ sed -i ‘s/text/replace/g’ file #如果不加g结尾,则替换每 一行 的第一个 #如果只是打印,去掉-i 2.忽略 N处匹配,从N+1出开始替换 $ sed -i ‘s/text/replace/2g’ file #在g 面加入数字N 3.移除空白符 $ sed ‘/^$/d’ file 4.标记已匹配的内容 $echo this is an ex 你以为这种方式是正确的吗 nonono 他会默认把该内容 添加 到文件的每 一行 而不是 最后 一行 ,那么正确的方法就是在 面加一个$,表示只在文件 最后 一行 添加 内容。 sed -i '$aAGE=\"12\"' test.txt sed 文本 第一行 最后 一行 添加 字符串 shell 文本 第一行 最后 一行 添加 字符串 sed -i '1 i DELIMITER INSERTDELIMITER' filename sed -i '1 i DELIMITER INSERTDELIMITER' filename sed '1i 添加 的内容' file    #这是在 第一行 添加 字符串 sed '$i 添加 的内容' file    #这是在 最后 一行 添加 字符串 sed '$a 添加 的内容' file    #这是在 最后 一行 行后 添加 字符串 -n: 一般 sed 命令会把所有数据都输出到屏幕,如果加入此选项,则只会把经过 sed 命令处理的行输出到屏幕 -e: 允许对输入数据应用多条 sed 命令编辑 -i: 用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出 a\: 追加,在当 行后 添加 一行 或多行。 添加 多行时,除 最后 一行 外,每行末尾需要用"\"代表数据未完结 c\: 行替 sed (stream editor)流编辑器也是linux中的一条命令,在 shell 中经常需要用到的非交互式修改文件内容的命令。 sed 处理 文本 是按行处理,也就是读 一行 处理 一行 sed 的常用参数-n 屏蔽默认输出;如果不加-n选项会全部输出 文本 满足条件的行再重复输出-r 如果使用扩展正则,则需要 添加 -r选项,默认不支持扩展正则,只支持标准正则-i 直接修改源文件;不加-i只会在屏幕临时输... 注意:这里没有s/原/新/的方法,也就是没有s这个参数,并且 最后 没有/.2.通过 sed 实现在搜索到某个 字符串 之后,在下 一行 插入 字符串 。如果要在匹配的行 面插入 一行 ,把a命令改成i命令即可。新插入的行或者匹配行如果有特殊字符,记得转义。1.查看原文件中的内容。