sed常用命令整理

买了本书unix shell 范例精解(第四版),把其中学到的sed总结一下,平时需要查阅的时候方便一点~

  1. sed '1,3d' file //删除1-3行
  2. sed '/[Aa]bc/p' file //打印包含Abc或者abc的行
  3. sed '/ABC/d' //删除包含ABC的行
  4. sed '/ABC/!d' //不删除包含ABC的行
  5. sed '5,$d' //从第五行到最后一行全部删除
  6. sed 1q  //显示第一行
  7. sed 's/$/.../g' //每行的最后面添加 ...
  8. sed 's/d.(sk)/1&/g' //满足d*sk的单词,在单词前添加sk
  9. sed 's/<[^>]*>//g' //去除html标签
  10. sed '/ABC/a123' //在包含ABC的行后面添加一行数值为123的行
  11. sed '/ABC/i123' //跟a不同的是i是插入当前行的前面
  12. sed '/ABC/c123' //包含ABC的行将更改为123
  13. sed '/ABC/{n;s/123/ABC/g}' //精确匹配包含ABC的下一行,将123全部替换成ABC
  14. sed '/ABC/{s/A/a/}' //在包含ABC的行将A替换成a
  15. sed -e '/ABC/h' -e '$g' //将包含ABC的行复制,在最后一行添加.
  16. sed -e '/ABC/{h;d}' -e '/123/G' //将包含ABC的行复制并删除,在包含123的行后添加.
  17. g等于在当前行覆盖,G是在符合条件的行后新增加一行.
  18. sed 's/^/ /g' //每行前面增加一个空格
  19. sed 's/.(.)$/*1/' //将倒数第二位换成*
  20. sed '/ABC/!s/1/*/g' //在不包含ABC的行里,将所有的1替换成*
  21. sed 's/1|2|3/*/g' //在GNU里将不管是1或2或者是3替换成*

shell监控硬盘 超过80%报警

monitor硬盘,超过80%就wall通知终端.前提是需要ssh过去或在终端上,或者wall可以换成发email

  1. #!/bin/bash
  2. a=`df|sed 1d|awk '$5>80'`
  3. if [[ -z $a ]]
  4.    then
  5. exit 0
  6. else
  7. wall <<EOF
  8. $a
  9. EOF
  10. exit 0
  11. fi

阅读unix shell 范例精解(第四版)

unix shell 范例精解作为一本shell入门的书籍,对目前的我来说,已经足够了,希望用最短的时间,拿下最多的内容..
unix shell 范例精解(第四版)
Read more »

UNIX shell范例精解 第四版 在线阅读

最近正在读这本UNIX shell范例精解(第4版),本来还想买,那天到亚马逊跟当当看了看,要80几块将近90,网银卡里的钱不够,想说过两天再买,没想到那天竟然在csdn上看到这本书啦~
献给也想学习shell的朋友~

shell循环for-while-seq

shell的bash循环1-100数字

  1. #!/bin/sh
  2. while :;do
  3.    ((++i))
  4.    echo $i
  5. ((i==100))&&break
  6. done

Read more »

7 7...«23456»...7