sed 删除最后几行 和删除指定行

 

sed 想删除文件中的指定行,是可以用行号指定也可以用RE来匹配的。

删除指定的行【可以指定行号删除、匹配字符串来删除】

[root@Jason64-17 ~]# cat -n seq.txt
1 ok i will help you
2 understand sed usage
3 how to use it
4 and we should use it in view
5 now let us
6 go
7 hello my name is
[root@Jason64-17 ~]# cat -n seq.txt | sed 3d
1 ok i will help you
2 understand sed usage
4 and we should use it in view
5 now let us
6 go
7 hello my name is
[root@Jason64-17 ~]# cat -n seq.txt | sed /should/d
1 ok i will help you
2 understand sed usage
3 how to use it
5 now let us
6 go
7 hello my name is
[root@Jason64-17 ~]# cat -n seq.txt | sed /ow/d
1 ok i will help you
2 understand sed usage
4 and we should use it in view
6 go
7 hello my name is
[root@Jason64-17 ~]# cat -n seq.txt | sed -r /how\|should/d
1 ok i will help you
2 understand sed usage
5 now let us
6 go
7 hello my name is

删除最后几行

[root@Jason64-17 ~]# seq 5 > seq01.txt
[root@Jason64-17 ~]# cat seq01.txt
1
2
3
4
5
[root@Jason64-17 ~]# for((i=1;i<4;i++)); do sed -i '$d' seq01.txt ; done
#C式for循环
[root@Jason64-17 ~]# cat seq01.txt
1
2
[root@Jason64-17 ~]# seq 5 > seq01.txt
[root@Jason64-17 ~]# cat seq01.txt
1
2
3
4
5
[root@Jason64-17 ~]# i=1; while [ $i -le 3 ]; do sed -i '$d' seq01.txt; ((i++)); done
#while循环
[root@Jason64-17 ~]# cat seq01.txt
1
2
[root@Jason64-17 ~]# seq 5 > seq01.txt
[root@Jason64-17 ~]# cat seq01.txt
1
2
3
4
5
[root@Jason64-17 ~]# for i in `seq 3`; do sed -i '$d' seq01.txt ; done
#bash for循环
[root@Jason64-17 ~]# cat seq01.txt
1
2
[root@Jason64-17 ~]# seq 5 > seq01.txt
[root@Jason64-17 ~]# cat seq01.txt
1
2
3
4
5
#until 循环
[root@Jason64-17 ~]# seq 5 > seq01.txt
[root@Jason64-17 ~]# cat seq01.txt
1
2
3
4
5
[root@Jason64-17 ~]# i=3; until [ $i -le 0 ]; do sed -i '$d' seq01.txt ; ((i--)); done
[root@Jason64-17 ~]# cat seq01.txt
1
2
[root@Jason64-17 ~]#
awk练习题
   wang     4
   cui      3
   zhao     4
   liu      3
   liu      3
   chang    5
   li       2
   1 通过第一个域找出字符长度为4的
   2 当第二列值大于3时,创建空白文件,文件名为当前行第一个域$1 (touch $1)
   3 将文档中 liu 字符串替换为 hong
   4 求第二列的和
   5 求第二列的平均值
   6 求第二列中的最大值
   7 将第一列过滤重复后,列出每一项,每一项的出现次数,每一项的大小总和
   1、字符串长度
    awk 'length($1)=="4"{print $1}'
   2、执行系统命令
    awk '{if($2>3){system ("touch "$1)}}'
   3、gsub(/r/,"s",域) 在指定域(默认$0)中用s替代r  (sed 's///g')
    awk '{gsub(/liu/,"hong",$1);print $0}' a.txt
   4、列求和
    df -h | awk '{a+=$2}END{print a}'
   5、列求平均值
    df -h | awk '{a+=$2}END{print a/NR}'
    df -h | awk '{a+=$2;b++}END{print a,a/b}' 
   6、列求最大值
    df -h | awk 'BEGIN{a=0}{if($2>a) a=$2 }END{print a}'
   7、将第一列过滤重复列出每一项,每一项的出现次数,每一项的大小总和
    awk '{a[$1]++;b[$1]+=$2}END{for(i in a){print i,a[i],b[i]}}'

sed 删除最后几行 和删除指定行 awk使用的更多相关文章

  1. mysql 行号 获取指定行数据

    mysql 行号的实现 Select id,(@rowNum:=@rowNum+1) as rowNo From first,(Select (@rowNum :=0) ) bOrder by fir ...

  2. python实现Excel删除特定行、拷贝指定行操作

    工作中遇到的,本来用VBA写的,操作很慢,尝试用Python实现, 任务需求: 从原始的两张表中拷贝行到五张表中,如下表所示: source1和source2是一样的格式:         one t ...

  3. iOS UITableView 解决估算行高和指定行高的矛盾

    喜欢交朋友的加:微信号 dwjluck2013 1.一般来说 在iOS 中若UITableViewCell 固定行高, 会通过 - (CGFloat)tableView:(UITableView *) ...

  4. C++操作文件行(读取,删除,修改指定行)

    /******************************************************** Copyright (C), 2016-2018, FileName: main A ...

  5. python3读取文件指定行的三种方案

    技术背景 考虑到深度学习领域中的数据规模一般都比较大,尤其是训练集,这个限制条件对应到实际编程中就意味着,我们很有可能无法将整个数据文件的内容全部都加载到内存中.那么就需要一些特殊的处理方式,比如:创 ...

  6. [Linux] sed命令使用之在文件中快速删除/增加指定行

    1.删除文档的第一行 sed -i '1d' <file> 2.删除文档的最后一行sed -i '$d' <file> 3.在文档指定行中增加一行例如文档如下:echo &qu ...

  7. 【Sed】使用sed删除文件指定行的内容

    sed多看帮助文档,受益良多 sed -i '$d' filename 例如删除 /etc/profile的最后一行 cat -n /etc/profile ...    101  export PA ...

  8. sed插入,替换指定行的特定字符串,删除指定行首的#

    sed -i '$a service snmpd start' /etc/rc.local sed -i "41s:public:mykey:g" /etc/snmp/snmpd. ...

  9. IOS学习之路六(UITableView滑动删除指定行)

    滑动删除指定行代码如下: Controller.h文件 #import <UIKit/UIKit.h> @interface TableViewController : UIViewCon ...

随机推荐

  1. 帝国cms 遍历某个父栏目下所有的子栏目

    [e:loop={"select * from phome_enewsclass where bclassid in (2) order by classid asc",0,24, ...

  2. vue-cli常用配置

    官方配置表:https://cli.vuejs.org/zh/config/#publicpath 1.vue inspect > output.js 将配置按webpack.config.js ...

  3. vue--支付宝支付

    1.支付宝支付:前端发起一个请求,后台返回一个页面,直接将返回的页面(一个表单),再执行表单提交 okFryOtherPayHandler(){ let reqBody = {}; reqBody.o ...

  4. 物联网的语言c,python,go等

    日本生鱼片 电热水器的使用方法http://www.hiry.cn/b/mt/33959.html 物联网层次很多,首先要看你从事哪个层级的工作了.既然你问语言,那么肯定是开发类的工作,开发类的对象中 ...

  5. Cocoapods私有库

    http://www.jianshu.com/p/d6a592d6fced 1.创建两个什么都不选的远程仓库:(私有公有都可,ReadMe\ignore都不选),一个放代码,一个放源(*.podspe ...

  6. 自定义Java Validator

    自定义Java Validator 在项目中,针对汉字的长度计算,数据库和java的计算方式不一致,需要重新处理下java 的 Validator,使其满足项目 建立自定义的 validator an ...

  7. vi 纵向模式编辑

    Vim 的纵向编辑模式 vim解读 vi解读 批量删除# 技巧: r 进入修改模式 I 进入行首插入模式 A 进入行尾插入模式 r替换 I前前添加 A后添加 1.多行注释: a. 按下Ctrl + v ...

  8. filebeat收集nginx的json格式日志

    一.在nginx主机上安装filebeat组件 [root@zabbix_server nginx]# cd /usr/local/src/ [root@zabbix_server src]# wge ...

  9. 2019.12.9java公文流转系统

    自己来写这个系统真是没有什么思路.就弄了个登陆界面,在数据库建了个表,其它的代码一直有错误,登陆不进去.

  10. 一个微信小程序跳转到另一个微信小程序

    简单来说分两步走: 1.配置项目根目录的 app.json 文件中的 navigateToMiniProgramAppIdList { "pages": [ "pages ...