快速业务通道

linux sed的一个简单用法

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-03

sed的一个简单用法:

eg:在某一个文件中的一个aaa字段前后添加某些字段.

在aaa前面添加字段:sed -ne ''s/aaa/&HELLO/p'' test

输出结果:aaaHELLO

在aaa后面添加字段:sed -ne ''s/aaa/HELLO&/p'' test

输出结果:HELLOaaa

在前后同时添加:sed -ne ''s/aaa/&HELLO&/p'' test

输出结果:aaaHELLOaaa

后续补充:

1.在某个字段前添加内容:

sed -n ''s/apache/&HELLO/p'' /etc/passwd

输出结果:apacheHELLO:x:48:48:Apache:/var/www:/sbin/nologin

2.删除文件第一个字符:

sed ''s/^.//'' /etc/passwd

3.删除文件第二个字符:

sed -r ''s/^(.)./1/'' /etc/passwd

或:sed ''s/^(.)./1/'' /etc/passwd

4.删除文件一个字符:

sed ''s/.$//'' /etc/passwd

5.删除文件每行的倒数第二个字符

sed ''s/.(.)$/1/'' /etc/passwd

或:sed -r ''s/.(.)$/1/'' /etc/passwd

6.删除文件每行的第二个单词

sed -r ''s/^([a-Z] [^a-Z] )[a-Z] /1/'' /etc/passwd

7.删除文件每行的倒数第二个单词

sed -r ''s/[a-Z] ([^a-Z] [a-Z] )$/1/'' /etc/passwd

8.删除一个文件中所有的数字

sed ''s/[0-9]//g'' test

9.删除每行开头的所有空格

sed ''s/^[ ]//g'' test

10.用制表符替换文件中出现的所有空格

sed -r ''s/[ ] /t/g'' test

11.把所有大写字母用()括起来

sed -r ''s/( [A-Z])/(1)/g'' test

12.隔行删除

sed -n ''1~2p'' test

13.把文件从第1行到第3行复制到第4行后面

sed -e ''1h'' -e ''2,3H'' -e ''4G'' test

本文出自 “激情燃烧” 博客,请务必保留此出处http://andyzhao.blog.51cto.com/794987/569613

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号