sed - xargs

ls | xargs  sed -i '1 a namespace alipay\\aop\\request;'

stream editor

流编辑器,用程序的方式编辑文本,正则匹配模式;

行处理;;

:%s/str/string/g # vim

sed -e '/regexp/s/oldvalue/newvalue/g' filename

sed -e '' -e '' filename

sed 's/{before}/{after}/;s///' filename

sed "s/str/string/g" filename # s 替换输出,源文件不变

sed -f sed-file filename   # 文本

   ./sed-file filename # /bin/sed

sed -i "s/aaa/bbb/g" $(grep aaa -rl .) # 替换当前目录中文件中aaa 为 bbb

sed '3s/^/#/g' filename # 第3行首加#

sed '3,6s/^/#/g' filename # 第3到6行首加#

sed 's/a/b/1' filename # 只替换每一行的第一个a -> b

sed 's/a/b/2' filename # 只替换每一行的第二个a -> b

sed 's/a/b/3g' filename # 只替换每一行的第3个之后个a -> b

sed '1,3s/a/b/g ; 3,$s/aa/bb/g' filename # 第1到3行:a -> b,第3行以后:aa -> bb

sed -e '1,3s/a/b/g' -e '3,$s/aa/bb/g' filename # 第1到3行:a -> b,第3行以后:aa -> bb # -e 执行命令

sed 's/aa/[&]/g' filename # 使用&来当做被匹配的变量,可以在基础上添加字符;

(小括号匹配):小括号扩起来的正则表达式所匹配的字符串可以当成变量来使用,sed中使用\1,\2

sed "s/a b c\([^,]*\),.*is\(.*\)/\1:\2/g" filename # a b c (hh),…… .is (ww) ;hh:ww

sed 'N;s/\n/,/' filename # 两行用,号合并为一行(奇偶);

命令:a :append ;i:insert

sed "1 i aaaaaaaaaaaa" filename # 第一行前插入 aaaaaaaaaaaa 作为第一行;

sed "1 a bbbbbbbbbbb" filename # 最后一行后追加一行 bbbbbbbbbbb 作为最后一行;

sed "$ a cccccccccccc" filename # 第一行后追加一行 cccccccccccc 作为第二行;

sed "/str/ a ddddddddd" filename # 匹配str后追加一行 ddddddddd;

c :替换匹配行

sed "2 c eeeeeeeeeee" filename # 第二行替换为 eeeeeeeeeee ;

sed "/str/ c fffffffffffffffffff" filename # 匹配str行替换为 fffffffffffffffffff;

d 删除匹配行:

sed "/str/ d" filename # 匹配str行删除;

sed "2,$ d" filename # 删除第二行以后行;

p 打印;

sed "/str/p" filename # 匹配str,并打印(2行);

sed -n "/str/p" filename # 匹配str,并打印(1行);

sed -n "/str/,/string/p" filename # 多匹配;

sed -n "1,/str/p" filename # 从第一行打印到匹配str成功的哪一行;

---------------------------------------------

^ :表示一行的开头,/^#/ 以#开头的匹配;

$:表示一行的结尾,/}$/以}结尾的匹配;

\< :表示词首,\<abc 以abc为首的词;

\>:表示词尾,abc\> 以abc结尾的词;

. : 表示任何单个字符;

*:表示某个字符出现了0或多次;

[]:字符集合,[abc]:表示匹配a或b或c;[a-zA-Z]:表示匹配所有字符;^:表示取反,[^a]:表示非a的字符; 

-------------------------------

sed 's/<[^>]*>//g' 1.html # 去除<html标签>

info sed # * 回车跳转,shift+u 返回;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值