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. 解决跨域问题,前端 live-server --port=1802 后端启动 localhost:1801,以及解决 vue 的 axios 请求整合

    测试的源码文件内容点击跳转 前端引入 vue.js 与 axios.min.js <script src="https://cdn.bootcss.com/vue/2.6.10/vue ...

  2. 2019.9.19HTML基础

    html:超文本标记语言,不是编程语言,是标签语言,显示数据. 有双标签和单标签 双标签:有开始有结束,<body></body> 单标签:只有一个.<img src=# ...

  3. 架构师成长之路5.3-Saltstack配置管理(State状态模块)

    点击架构师成长之路 架构师成长之路5.3-Saltstack配置管理(State状态模块) 配置管理工具: Pupper:1. 采用ruby编程语言:2. 安装环境相对较复杂:3.不支持远程执行,需要 ...

  4. 多态(Polymorphism)的实现机制

    1. 我理解的广义的 override 是指抛开各种访问权限,子类重定义(redefine)父类的函数(即函数签名相同). 2. C++中的三个所谓的原则:never redefine base cl ...

  5. Gym - 101987G Secret Code (概率+数学积分)

    题意:有A,B,C三个人要见面,每个人在[0,S]随机选择一个时间点作为见面时间,先到的那个人要等下一个人来了之后和他确认信息,然后马上就走. 例如,假如A先到,B其次,C最后到,那么A要等B到了之后 ...

  6. poj3666/CF714E/hdu5256/BZOJ1367(???) Making the Grade[线性DP+离散化]

    给个$n<=2000$长度数列,可以把每个数改为另一个数代价是两数之差的绝对值.求把它改为单调不增or不减序列最小代价. 话说这题其实是一个结论题..找到结论应该就很好做了呢. 手玩的时候就有感 ...

  7. 微信里关闭窗口 js

    需要在微信中关闭页面窗口,不过window.close()不管用,问过群里才知道微信有自带的方法能关闭窗口,记录一下(这个只针对微信有效哦): WeixinJSBridge.call('closeWi ...

  8. pymysql操作数据库、索引、慢日志管理

    目录 pymysql操作数据库 简单操作 sql的注入问题 sql注入问题解决办法 sql注入问题模板总结 利用pymysql操作数据库 (增删改),conn.commit() 索引 1.为何要有索引 ...

  9. python的基础语法-部分Ⅱ

    Python 保留字符 下面的列表显示了在Python中的保留字.这些保留字不能用作常数或变数,或任何其他标识符名称. 所有 Python 的关键字只包含小写字母. 行和缩进 学习 Python 与其 ...

  10. 自动化登录QQ脚本

    1.准备第三方包: py -3.6 -m pip install win32gui py -3.6 -m pip install Pywin32 py -3.6 -m pip install pyHo ...