76-简单命令组合抓取本主机IP

本文深入解析nl命令的功能与用法,展示如何为文件添加行号,特别关注空行处理及与cat-n的区别。通过具体示例,如计算特定行的uid之和和定位特定用户信息,展现nl命令在数据检索和信息筛选中的高效应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


首先介绍一个并不常用的命令:nl
nl命令最基本的用法:为你将要查看的文件或者标准输出添加行号
但务必注意的是:nl若不添加其他参数忽略空行,不对其做行号递增排序显示;
此外,nl 与cat -n 作用类同
例如:

[root@C7-3 ~]# cat /data/f1 
a

b
[root@C7-3 ~]# nl /data/f1 
     1	a
       
     2	b
[root@C7-3 ~]# cat -n /data/f1 
     1	a
     2	
     3	b
[root@C7-3 ~]# nl -b a /data/f1 
     1	a
     2	
     3	b
计算/etc/passwd 中第10行与第20行 uid之和
nl /etc/passwd|egrep "^ +10|20"|awk -F: '{print $3}'|sed -nr '1~2N;s/\n/+/p'|bc

nl命令仅做介绍到这;


对于内容或者行号很多的文件来说,使用nl 与sed 组合可以快速将我们想要的某行或某几行定位出来;
例如:

在我的passwd 文件中有个ftp用户
我并不知道该用户信息在第几行,而我又想将该用户信息取出单独输出至终端
[root@C7-3 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
.................
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
.....................

[root@C7-3 ~]# nl /etc/passwd
     1	root:x:0:0:root:/root:/bin/bash
....................
    11	games:x:12:100:games:/usr/games:/sbin/nologin
    12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
..........................
[root@C7-3 ~]# nl /etc/passwd|sed -n '12p'
    12	ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

很快我们就将该用户信息找到并单独打印

熟练使用各种基础命令掌握多种方法能够使我们的工作有更多其他选择

最后例举几个`CentOS / Ubuntu` 通用 `取出主机IP` 的命令作为结束吧

ip a|sed -n '9p'|awk -F"/| " '{print $6}'
ip a|nl|grep "\b9\b"|tr -s " "|cut -d" " -f 4|tr '/' '\n'|head -1
ip a|egrep "([0-9]){3}\.([0-9]){3}"|awk -F" |/" '{print $6}'

[root@C7-3 ~]# ip a|sed -n '9p'|awk -F"/| " '{print $6}'
10.20.0.13
[root@C7-3 ~]# ip a|nl|grep "\b9\b"|tr -s " "|cut -d" " -f 4|tr '/' '\n'|head -1
10.20.0.13
[root@C7-3 ~]# ip a|egrep "([0-9]){3}\.([0-9]){3}"|awk -F" |/" '{print $6}'
10.20.0.13

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值