linux中如何用sed命令打印行号:内容?

linux中如何用sed命令打印行号:内容?,第1张

sed = 文件名 | sed 'Ns/\n/:/' | sed -n '/显示行包含的关键字/p',例子:

假设我有文件test,内容为:

Baidu123

ppppqqqq

bAidu567

a.此时我想把含有baidu的行以 "行号:该行完整内容"的形式输出,则只需要执行:

sed = test | sed 'Ns/\n/:/' | sed -n '/baidu/Ip' //最后p前面的是大写的I

得到结果为:

1:Baidu123

3:bAidu567

*.忽略大小写,还有一个比较笨的方法,使用[],将关键字的所有字母的大小写都包括了,就来例来说,/[bB][aA][iI][dD][uU]/

b.输出所有的行,不使用关键字过滤行,则只需要去掉最后一部分,即:

sed = test | sed 'Ns/\n/:/'

得到结果为:

1: Baidu123

2:ppppqqqq

3bAidu567

完!

---------------------------------------------

grep解决这个问题比较好吧,假设有文件test,内容为:

Baidu123

ppppqqqq

bAidu567

如果我想得到格式如 line: line_content这种格式内容的话:

grep -ni "baidu" test

结果为:

1:Baidu123

3:bAidu567

可通过以下步骤完成从特定内容所在行开始查看文件,若已知特定内容所在行,可忽略步骤1

1、通过命令cat  filename | grep -n "" 命令打印出要查找的起始行号和结束行号

2、使用sed -n  'x,yp'  filename 命令 打印出起始行和结束行之间的内容(包括起始行和结束行)

具体如下:

1、简介

Linux *** 作系统是基于UNIX *** 作系统发展而来的一种克隆系统,它诞生于1991 年的 [Linux桌面] 10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。

2、基本信息

Linux[2] *** 作系统是UNIX *** 作系统的一种克隆系统,它诞生linux系统于1991 年的10 月5 日(这是第一次正式向外公布的时间)。以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类 *** 作系统,并且使用人数还在迅猛增长。

3、分区规定

设备管理在 Linux 中,每一个硬件设备都映射到一个系统的文件,对于硬盘、光驱等,IDE 或 SCSI 设备也不例外。Linux 把各种 IDE 设备分配了一个由 hd 前缀组成的文件;而对于各种 SCSI 设备,则分配了一个由 sd 前缀组成的文件。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8346426.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存