sed(按行操作)文本过滤

简介: sed(按行操作)文本过滤

参考sed用法 https://www.cnblogs.com/ctaixw/p/5860221.html

指定只显示(只打印)文件中的某几行(中间几行)

sed -n '5,10p' filename 这样你就可以只查看文件的第5行到第10行。

-n :只打印模式匹配的行  p打印匹配行(和-n选项一起合用)

删除行

sed '/^$/d' 来删除文件的空白行了,因为 /^$/ 的意思是匹配首尾且中间内容为空格的信息,即空白行:

sed '1d' 删除第一行

sed '/name/d' 删除匹配为name的行

sed '2 d' 删除第二行



如何从字符串中截取一段内容

例如文本文件

111testAAA

34343testBBBB

8729testCCCC

723435testDDDD

希望得到字符串“test"后面的内容,

AAA

BBBB

CCCC

DDDD

sed 's/.*test//g' yourfile


从第3000行开始,显示1000行。即显示3000~3999行

cat filename | tail -n +3000 | head -n 1000


【二】显示1000行到3000行

cat filename| head -n 3000 | tail -n +1000


*注意两种方法的顺序


分解:

   tail -n 1000:显示最后1000行

   tail -n +1000:从1000行开始显示,显示1000行以后的

   head -n 1000:显示前面1000行

相关文章
|
4月前
|
开发工具 Perl
使用sed去掉代码中的行号
使用sed去掉代码中的行号
使用sed去掉代码中的行号
|
3月前
|
Perl
awk命令中逐行处理
awk命令中逐行处理
44 3
|
机器学习/深度学习 Java Shell
文本三剑客之awk命令(上)
1 awk概述 awk的工作原理: 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。 awk倾向于将一行分成多个"字段"然后再进行处理。 awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。 使用awk命令的过程中,可以使用逻辑操作符"&&"表示"与"、"|"表示"或"、"!"表示"非",还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
136 0
|
数据安全/隐私保护 Perl
文本三剑客之awk命令(下)
1 awk概述 awk的工作原理: 逐行读取文本,默认以空格或tab键为分隔符进行分隔,将分隔所得的各个字段保存到内建变量中,并按模式或者条件执行编辑命令。 awk倾向于将一行分成多个"字段"然后再进行处理。 awk信息的读入也是逐行读取的,执行结果可以通过print的功能将字段数据打印显示。 使用awk命令的过程中,可以使用逻辑操作符"&&"表示"与"、"|"表示"或"、"!"表示"非",还可以进行简单的数学运算,如+、-、*、/、%、^分别表示加、减、乘、除、取余和乘方。
120 0
|
Linux Perl
awk命令 去掉重复行
linux awk命令 去掉重复行 1.打印指定列 域信息
342 0
awk命令使用实例
awk命令使用实例
awk命令使用实例
|
MySQL 关系型数据库 Perl