总有一行适合你!

最常用的替换与添加:

sed -i "s/原字符串/新字符串/g"    文件所在目录路径

sed -i '/DirectoryIndex/s/index.html/index.php index.html/g' /usr/local/httpd/conf/httpd.conf
sed -i 's/DirectoryIndex index.html/DirectoryIndex index.php index.html/g' /usr/local/httpd/conf/httpd.conf
sed -i '#    位置标识字符串(文件这个位置的下一行)#a\\    添加的字符串'  文件所在目录路径  --注意,为了防止歧义,已经将sed格式中的/改为#,换一种写法示例如下:
sed -i '/    AddType application\/x-gzip .gz .tgz/a\\    AddType application\/x-httpd-php-source .phps'  /usr/local/httpd/conf/httpd.conf
  上述示例中表示文件层级的‘/’需要在前面添加‘\’转义如不想转义,可用其他符号如#取代/,如下:
sed -i '#    AddType application/x-gzip .gz .tgz#a\\    AddType application/x-httpd-php-source .phps'  /usr/local/httpd/conf/httpd.conf
以下可自行选择使用:

sed选择操作
sed -n 'p' test.txt   #输出所有行,等同   cat   test.txt
 sed -n '5p' test.txt    #输出第五行
sed -n '2,5p' test.txt   #输出2到5行
sed -n 'p;n' test.txt    #输出所有奇数行
sed -n 'n;p' test.txt   #输出所有偶数行
 sed -n '1,7{p;n}' test.txt  #输出输出1到7行之间的奇数行
sed -n '10,${n;p}' test.txt   #输出10行到末尾之间的偶数行
sed  -n  '/the/p' test.txt   #输出含有the的行
 sed  -n  '6,/the/p' test.txt  #输出从第六行开始包含the的行
 sed  -n  '/the/=' test.txt  #输出包含the的行号
 sed  -n  '/^PI/p' test.txt   #输出以PI开头的行
 sed  -n  '/\<wood\>/p' test.txt   #输出包含单词wood的行
sed删除操作
nl   test.txt  | sed '3d'    #删除第三行
nl   test.txt  | sed '3,5d'    #删除3到5行
nl   test.txt  | sed  '/cross/d'   #删除包含cross的行
sed  '/^[a-z]/d'  test.txt  #删除以小写字母开始的行
sed  '/\.$/d'   test.txt  #删除以.结尾的行
sed '/^$/d'   test.txt   #删除空行
sed -e  '/^$/{n;/^$/d}'    test.txt   #删除连续的空行并保留一行空行
sed   替换操作
sed  's/the/THE/'  test.txt  #将每行中第一个the替换成THE
sed 's/l/L/2'   test.txt   #将每行中第二个l替换成L
sed   's/the/THE/g'    test.txt   #将每行中所有的the替换成THE
sed   's/o//g'  test.txt   #将文件中所有的o替换成空字符串(即删除)
sed   's/^/#/'  test.txt   #每行行首添加#
sed   '/the/s/^/#/'  test.txt   #在包含the的每行行首插入#
sed   '/the/s/#//'  test.txt    #删除包含the的行的#
sed  's/$/EOF/'   test.txt  #在每行行尾插入EOF
sed  '3,5s/the/THE/g'  test.txt   #将3到5行中的the全部替换成THE
sed  '/the/s/o/O/g'  test.txt   #将包含the的行中o替换成O
sed迁移文本
sed    '/the/{H;d};$G'   test.txt   #将包含the的行迁移至文件末尾
sed   '1,5{H;d};17G'   test.txt   #将1~5行转移到第17行后
sed  '/the/w  out.file'   test.txt   #将包含the的行另存为文件out.file
sed   '/the/r   /etc/hostname'   test.txt    #将文件hostname的内容添加到包含the的每行以后
sed  '3aNew'   test.txt     #在第三行插入一个新行,内容为New
sed   '/the/aNew'   test.txt   #在包含the的行后插入一个新行,内容为New
sed  '3aNew1\nNew2'     test.txt   #在第三行后插入多行,New1和2 \n表示换行

awk
awk '{print}' test.txt                        //输出所有内容,等同于 cat test.txt

awk '{print $0}' test.txt                     //输出所有内容,等同于 cat test.txt

awk 'NR==1,NR==3{print}' test.txt             //输出1~3行内容

awk '(NR>=1)&&(NR<=3){print}' test.txt       //输出1~3行内容

awk 'NR==1||NR==3{print}' test.txt          //输出第一行,第三行内容

awk '(NR%2)==1{print}' test.txt            //输出所有奇数行内容

awk '(NR%2)==0{print}' test.txt           //输出所有奇数行内容

awk '/^root/{print}' /etc/passwd          //输出以root开头的行

awk '/nologin$/{print}' /etc/passwd       //输出以nologin结尾的行

awk 'BEGIN {x=0} ; /\/bin\/bash$/{x++};END {print x}' /etc/passwd     //统计以/bin/bash结尾的行数,等同于grep -c"/bin/bash" /etc/passwd

awk 'BEGIN{RS=""};END{print NR}' /etc/passwd                   //统计一空行分隔的文本段落数

awk '{print $3}' test.txt                                     //输出每行中(以空格或制表位分隔)的第三个字段

awk '{print $3,$1}' test.txt                                 //输出每行中的第1,3个字段

awk -F ":" '$2==""{print}' /etc/shadow                      //输出密码为空的用户的shadow记录

awk 'BEGIN {FS=":"}'; $2==""{print}' /etc/shadow           //输出密码为空的用户的shadow记录

awk -F ":" '$7~"/bash"{print $1}' /etc/passwd             //输出以冒号分隔且第7个字段中包含/bash的行的第一个字段

awk '($1~"nfs")&&(NF==8){print $1,$2}' /etc/services      //输出包含8个字段且第一个字段包含nfs的行的第一、第二个字段

awk -F ":" '($7!="/bin/bash")&&($7!="/sbin/nologin"){print}' /etc/passwd    //输出第七个字段概不为/bin/bash也不为/sbin/nologin的所有行

awk -F: '/bash$/{print | "wc -l"}' /etc/passwd           //调用wc -l命令统计使用bash的用户个数

awk 'BEGIN {while ("w" | getline) n++ ; {print n-2}}'    //调用w命令,用来统计在线用户数

awk 'BEGIN { "hostname" | getline ; print $0}'           //调用hostname,输出当前的主机名

sed与awk笔记分享相关推荐

  1. Linux三剑客:grep、sed、awk基础入门学习笔记

    今天分享的学习笔记内容是Linux三剑客,包括grep.sed.awk命令的基础知识,以及一些正则表达式相关内容. 正则表达式是对字符串和特殊字符操作的一种逻辑公式,就是用事先定义好的一些特定字符及这 ...

  2. 【引用】整理Sed与Awk学习笔记(一)

    一.前言 开卷有益,在it领域有很多学习的途径,个人认为最好的学习教材是原版图书,但由于语言上的问题,大多数人只能望书兴叹!这个文档是根据我自学时的实际情况整理的,和大多数的实际需要情况所写. 其中示 ...

  3. SED与AWK学习笔记

    1. 基本概念 Sed是一个"非交互式"的面向字符流的编辑器. 这个面向字符流就像是我去餐厅点了一道菜让厨师做,菜都是字符,厨师做好后直接送到我面前.所以我只要下达命令就好. Se ...

  4. 【分享】《小强升职记》读书笔记分享1

    寻找种子,确定方向 >>>>精彩语句 1.      盲目,是阻止快速成长的关键因素. 2.      机遇只会眷顾那些有准备的人呢. 3.      衡量一件事情是不是有意义 ...

  5. 【分享】《小强升职记》读书笔记分享4

    抽出绿叶,积极主动 看完本章内容,自己最受感触的一点就是--主动性. 先从"听话的孩子"说起吧.从小学到中学,相信老师都喜欢听话的孩子,因为我也算是这么一个孩子吧,老师说让什么时候 ...

  6. 【分享】《小强升职记》读书笔记分享5

    习惯让你开花结果 19世纪最伟大的小提琴家萨拉萨蒂,曾被媒体称为天才,对此萨拉萨蒂说:"天才?!37年来我每天苦练14小时,现在却叫我天才?!". 世界上最伟大的推销员之一Joe ...

  7. SED与AWK命令攻略大全

    http://www.tuicool.com/articles/zUVnUz 1. 基本概念 Sed是一个"非交互式"的面向字符流的编辑器. 这个面向字符流就像是我去餐厅点了一道菜 ...

  8. Unix实用工具教程:《sed与awk》修订第三版清晰版

    为什么80%的码农都做不了架构师?>>>    Unix实用工具教程:<sed与awk>修订第三版清晰版 本书介绍了一组名字奇特的Unix实用工具sed和awk,这组实用 ...

  9. sed和awk中使用shell变量

    最近做预料处理,使用bash脚本,需要在脚本的sed和awk使用shell变量以控制循环,出现一些问题后找到解决办法如下: 1.sed使用shell变量  这个比较好办,sed命令中可以用单引号和双引 ...

最新文章

  1. 【复杂网络】复杂网络多种算法及工具应用集合
  2. 迭代器和反向迭代器,常量迭代器和非常量迭代器
  3. ArrayBlockingQueue与LinkedBlockingQueue
  4. DML,DDL,DCL,DQL的区别
  5. 云计算实战系列十四(MySQL基础)
  6. SpringMvc JavaMailSenderImpl 邮件发送时到时前端无法接受Json数据问题解决
  7. 第一批富起来的人,正在悄悄变“穷”
  8. vidalia 更换浏览器代理
  9. java关键字const_java基础知识(三)java关键字
  10. c语言 算术平均滤波法_算术平均滤波C程序
  11. 微信服务器IP地址清单
  12. nginx做小程序外链跳转_微信小程序跳转到其他网页(外部链接)的实现方法
  13. mysql 连接慢安全狗_服务器安全狗端口安全策略导致微信小程序慢解决办法
  14. 计算机毕业设计ssm基于微信的的高校起床协会管理61rmm系统+程序+源码+lw+远程部署
  15. 关于卷积核大小的论文与思路
  16. 20160411_使用老毛桃破解电脑密码
  17. 【gensim问题记录】EOFError: unexpected end of input; is count incorrect or file otherwise damaged?
  18. 什么是以太坊?什么是智能合约?
  19. linux查看存储阵列,AIX系统下查看磁盘阵列
  20. [附源码]java毕业设计企业招标系统

热门文章

  1. 淘宝为什么能抗住双 11 ,服务不崩溃?
  2. 中山python培训机构
  3. 全球物联网 (IoT) 市场(2020 年至 2026 年)——以 8power、ABB 和自适应无线解决方案等为特色 - ResearchAndMarkets.com
  4. python里init什么意思_Python中 __init__的通俗解释是什么?
  5. 厚积薄发打卡Day25 :狂神说Java之多线程详解<全网最全(代码+笔记)>
  6. 搭建jumpserver堡垒机
  7. PrintStream:
  8. 计算机vfp考试笔试试题,计算机二级vfp历年考试真题及答案
  9. QT5:获取本机摄像头/usb摄像头 实现拍照保存功能
  10. 先付年金计算机公式,【即付年金】即付年金计算公式