首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在这个剪切命令的例子中,f参数是如何工作的?

在这个剪切命令的例子中,f参数是如何工作的?
EN

Unix & Linux用户
提问于 2018-09-05 10:14:08
回答 2查看 522关注 0票数 0

我正在学习LPIC-1考试,我只能理解下面的命令剪切示例:

ifconfig enp3s0f2产生以下结果:

代码语言:javascript
复制
enp3s0f2: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 00:90:f5:e5:e4:7c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

然后运行命令ifconfig enp3s0f2 | grep ether | cut -d " " -f 10,该命令显示此输出,因为我希望隔离MAC地址:00:90:f5:e5:e4:7c

但是,我只使用了-f参数,它的值为10。我不明白为什么是10而不是其他号码。我看了几个页面,并举例说明了如何使用cut命令和不同的参数,但是在这个例子中,这对我来说完全没有意义。

如何隔离这个MAC地址--它应该是分配给-f的值10?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-09-05 10:23:26

这是因为我们使用的分隔符,我们在ether前有8个空格

我们可以使用下面的代码进行检查。

代码语言:javascript
复制
 ifconfig enp3s0f2 | grep ether | sed 's/ether.*//' |grep -o ' ' | wc -l 

 8

第九个字段是ether,第十个字段是00:90:f5:e5:e4:7c

票数 4
EN

Unix & Linux用户

发布于 2018-09-05 10:21:42

来自man cut

代码语言:javascript
复制
   -d, --delimiter=DELIM
          use DELIM instead of TAB for field delimiter

   -f, --fields=LIST
          select only these fields;  also print any line that contains no delimiter character, unless the -s option is specified

所以你用每个分隔字符来分割输出,在你的例子中是一个空格。这会产生一个字段数组。-f选项告诉cut只返回第十个字段。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/466977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档