首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Awk和cut问题

Awk和cut问题
EN

Stack Overflow用户
提问于 2013-12-05 01:59:35
回答 2查看 467关注 0票数 0

所以我有一个在阅读之前必须转换成文本的文件,不管怎样,这就是我的两难境地。

我能做到

代码语言:javascript
复制
$convertfile filename|cut -c39,40

我会收到两封信(这是我正在寻找的,但我也需要这样做

代码语言:javascript
复制
$convertfile filename|cut -c45--56

并获得一个MAC地址,恰好在同一行上面的两个字母是,我需要这两个打印在屏幕上。

我知道awk在这一点上可以帮助我,但我不能使用列,因为字符将连续出现。

我们举个例子

代码语言:javascript
复制
12345:  45 45 : 12131 : XU  : MACADDRRESS1

我想打印XU MACADDRESS1并将其与/proc/net/arp中的相匹配

现在,我要转换的文件的mac地址不包括proc net arp中的":“,我可以使用sed将grep的输出转储到一个文本文件中,然后对它们进行匹配。

不管怎么说,最终的结果是

代码语言:javascript
复制
XU - IP 

代码语言:javascript
复制
XU MACADDRESS1 IP

我知道这是很多工作,但任何帮助都是非常感谢的。

EN

回答 2

Stack Overflow用户

发布于 2013-12-05 02:19:51

不确定是否完全理解了这个问题。但这可能会有所帮助:

代码语言:javascript
复制
> s='12345:  45 45 : 12131 : XU  : MACADDRRESS1'
> awk -F '[: ]+' '{print $5, $6, "IP"}' <<< "$s"
XU MACADDRRESS1 IP
票数 0
EN

Stack Overflow用户

发布于 2013-12-05 02:23:45

代码语言:javascript
复制
s='12345:  45 45 : 12131 : XU  : MACADDRRESS1'
MAC=$(awk '{print $9}' <<< $s)
IP=$(grep "$MAC" /proc/net/arp|awk '{print $1}')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20382546

复制
相关文章

相似问题

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