sed 删除最后几行 和删除指定行 awk使用

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

转载原文链接:http://blog.51cto.com/lspgyy/1305489

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

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

[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]# 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
[[email protected] ~]# 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

删除最后几行

[[email protected] ~]# seq 5 > seq01.txt
[[email protected] ~]# cat seq01.txt
1
2
3
4
5
[[email protected] ~]# for((i=1;i<4;i++)); do sed -i ‘$d‘ seq01.txt ; done
#C式for循环
[[email protected] ~]# cat seq01.txt
1
2
[[email protected] ~]# seq 5 > seq01.txt
[[email protected] ~]# cat seq01.txt
1
2
3
4
5
[[email protected] ~]# i=1; while [ $i -le 3 ]; do sed -i ‘$d‘ seq01.txt; ((i++)); done
#while循环
[[email protected] ~]# cat seq01.txt
1
2
[[email protected] ~]# seq 5 > seq01.txt
[[email protected] ~]# cat seq01.txt
1
2
3
4
5
[[email protected] ~]# for i in `seq 3`; do sed -i ‘$d‘ seq01.txt ; done
#bash for循环
[[email protected] ~]# cat seq01.txt
1
2
[[email protected] ~]# seq 5 > seq01.txt
[[email protected] ~]# cat seq01.txt
1
2
3
4
5
#until 循环
[[email protected] ~]# seq 5 > seq01.txt
[[email protected] ~]# cat seq01.txt
1
2
3
4
5
[[email protected] ~]# i=3; until [ $i -le 0 ]; do sed -i ‘$d‘ seq01.txt ; ((i--)); done
[[email protected] ~]# cat seq01.txt
1
2
[[email protected] ~]#

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]}}‘

原文地址:https://www.cnblogs.com/xiaofeng666/p/11234505.html

时间: 2024-10-08 16:55:00

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

mysql 行号 获取指定行数据

mysql 行号的实现 Select id,(@rowNum:[email protected]+1) as rowNo From first,(Select (@rowNum :=0) ) bOrder by first.id Desc 这样就可以实现mysql 的行号 获取指定行的数据可以使用limit 具体的使用如下: select * from first limit num,1 即可 mysql 行号 获取指定行数据,布布扣,bubuko.com

sed在指定行上删除和添加字符

欢迎转载!转载时请注明出处:http://blog.csdn.net/nfer_zhuang/article/details/44020599 引言 我在一个项目中需要发布版本,两个客户的需求基本相同,只有是在一个fm34(消回音)模块上一个有该功能,另外一个没有.那么就存在在发版本的时候根据需要打开和关闭关于fm34相关的代码. 其中的一个就是是否需要inmod一个ko文件,我的处理是: 在脚本中有inmod该ko的一行代码,但是默认是被注释掉的 在给需要该功能的客户发布版本时,通过sed将改

Sed删除和添加指定行的上下行的数据

课题一:删除匹配行的上一行和下一行数据 1.删除匹配行的上一行和下一行: sed -i -e '/string/{n;d}' -e '$!N;/\n.*string/!P;D' filename 2.删除匹配到特定字符所在行的上一行 sed -i -e '$!N;/\n.*string/!P;D' filename 3.删除匹配到特定字符所在行的下一行 sed -i -e '/string/{n;d}' filename 4.sed中使用变量,删除匹配行的上一行和下一行: AA=string #

jQuery删除表格指定行代码实例

jQuery删除表格指定行代码实例:本章节介绍一下如何删除表格中指定的行,代码非常的简单,直接上代码: $("table tr").eq(2).remove(); 相关阅读:1.eq()函数可以参阅jQuery的eq()方法一章节.2remove()函数可以参阅jQuery的remove()方法一章节. 原文地址是:http://www.softwhy.com/forum.php?mod=viewthread&tid=13213 更多内容可以参阅:http://www.soft

mssql sqlserver 禁止删除数据表中指定行数据(转自:http://www.maomao365.com/?p=5323)

转自:http://www.maomao365.com/?p=5323 摘要:下文主要讲述,如何禁止删除数据表中指定行数据 最近收到用户一个需求,禁止所有人删除”表A”中,ID 为1.2.3.4.5的系统默认数据,通过项目组同事仔细研究,我们得到一致的答案为:在表上新增一个触发器,当删除数据ID为 1 2 3 4 5时候,直接弹出相应的错误,采用这种模式,可以限制所有端口的异常操作(程序 查询分析器),具体实现方式,如下文所示: create trigger trTriggerA on A fo

REDHAT一总复习1 vim编辑器的使用 删除所有者列 删除指定行

将文件/home/student/vimfile.txt 复制到server 上的/home/student/longlisting.txt . 根据下列要求,使用vim编辑器更改 /home/student/longlisting.txt 文件: . 删除文件所有者列.不要删除任何空格. .删除Documents行和Pictures行. .完成编辑时保存文件. 将文件 /home/student/vimfile.txt 复制到 /home/student/longlisting.txt $ c

sed 指定行范围匹配(转)

sed -n '5,10{/pattern/p}' file sed是一个非交互性性文本编辑器,它编辑文件或标准输入 导出的文件拷贝.标准输入可能是来自键盘.文件重定向.字符串或变量,或者是一个管道文件.sed可以随意编辑小或大的文件,有许多sed命令用来编辑. 删除,并允许做这项工作时不在现场.sed一次性处理所有改变,因而变得很有效,对用户来说,最重要的是节 省了时间.sed必须通过行号和正则表达式指定要改变的文本行 sed怎样读取数据:sed从文件的一个文本行或从标准输入的几种格式中读取数

SQL Server 行的删除与修改-------------(未完待续P222 deep SQL Server 222 )

删除: 1.堆表:当行被删除时,不会自动重新组织页面上的空间.删除行时不会从物理页面上删除, 而只是把行偏移设置为 0 .表示空间没有使用.除了页面上没有被回收空间之外,堆中的 空白页也常常不会被回收. 2.聚集表:当数据页面的数据被删除完时,整修页面将被回收,(但是至少会留下 9 个页面 一个IAM页 一个区(8个页). 更新:

转: javascript 从数组中删除指定值(不是指定位置)的元素

例如数组{1,2,3,4,5} 要把数组里面的3删除得到{1,2,4,5} <script type="text/javascript"> Array.prototype.indexOf = function(val) { //prototype 给数组添加属性 for (var i = 0; i < this.length; i++) { //this是指向数组,this.length指的数组类元素的数量 if (this[i] == val) return i;