[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] sed和gawk怎样删除文本指定行?

想学习sed和gawk,搞不懂文本行的操作,请教下面这些操作分别有哪些实现方法:
1、删除第一行
2、删除最后一行
3、删除第三行到第五行
4、保留第一行删除其它行
5、保留最后一行删除其它行
6、保留第三行到第五行删除其它行

  1. sed "1d" 1.txt
  2. ::1、删除第一行
  3. sed "$d" 1.txt
  4. ::2、删除最后一行
  5. sed "3,5d" 1.txt
  6. ::3、删除第三行到第五行
  7. sed "1!d" 1.txt
  8. ::4、保留第一行删除其它行
  9. sed "$!d" 1.txt
  10. ::5、保留最后一行删除其它行
  11. sed "3,5!d" 1.txt
  12. ::6、保留第三行到第五行删除其它行
复制代码

TOP

1:
  1. sed "1d" a.txt
  2. sed -n "1!p" a.txt
  3. sed "2,$!d" a.txt
  4. sed -n "2,$p" a.txt
复制代码
  1. gawk "NR>1" a.txt
  2. gawk "NR!=1" a.txt
  3. gawk "NR>=2" a.txt
  4. gawk "{if(NR==1)next}1" a.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

2:
  1. sed "$d" a.txt
  2. sed -n "$!p" a.txt
复制代码
  1. gawk "row{print row}{row=$0}" a.txt
  2. gawk "NR>1{print row}{row=$0}" a.txt
  3. gawk "{a[NR]=$0}END{for(i=1;i<=NR-1;i++)print a[i]}" a.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

http://bbs.bathome.net/thread-1954-1-1.html

反复看吧,sed命令暂时没找到系统的教程,batman的实例教程也不错。

TOP

5# Hello123World


你觉得置顶贴里面的O'Reilly sed & awk 2nd Edition够不够系统?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. #删除第三行到第五行
  2. sed "3,5d" a.txt
  3. sed -n "1,2p;6,$p" a.txt
  4. gawk "NR<3||NR>5" a.txt
  5. gawk "!(NR>=3&&NR<=5)" a.txt
复制代码

TOP

  1. #保留第一行删除其它行
  2. sed "1!d" a.txt
  3. sed -n "1p" a.txt
  4. sed "2,$d" a.txt
  5. gawk "NR==1" a.txt
  6. gawk "{print;exit}" a.txt
复制代码

TOP

  1. #保留最后一行删除其它行
  2. sed "$!d" a.txt
  3. sed -n "$p" a.txt
  4. gawk "END{print}" a.txt
复制代码

TOP

  1. #保留第三行到第五行删除其它行
  2. sed "3,5!d" a.txt
  3. sed -n "3,5p" a.txt
  4. sed "1,2d;6,$d" a.txt
  5. gawk "!(NR<3||NR>5)" a.txt
  6. gawk "NR>=3&&NR<=5" a.txt
复制代码

TOP

返回列表