作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想使用 bash 脚本从 linux 中的文本文件中提取包含 MAC 地址 的任何行,然后如果可能的话将其保存到另一个文件中?
有使用 sed 和 grep 删除行的不同示例,但到目前为止我还无法使它们为我工作。一般来说,我不太擅长编程,所以它可能比我认为的要容易得多。
我正在从中提取的文本文件示例。
猫测试.txt
spawn ssh -l user x.x.x.x -p 22 "arp"
DD-WRT Mega
Release xx/xx/xx (SVN revison:xx)
root@x.x.x.x password:
Device1 (x.x.x.x) at xx:xx:xx:xx:xx:xx [ether] on br0
Device2 (x.x.x.x) at xx:xx:xx:xx:xx:xx [ether] on br0
Device3 (x.x.x.x) at xx:xx:xx:xx:xx:xx [ether] on br0
下面是我正在寻找的结果。
结果.txt
Device1 (x.x.x.x) at xx:xx:xx:xx:xx:xx [ether] on br0
Device2 (x.x.x.x) at xx:xx:xx:xx:xx:xx [ether] on br0
Device3 (x.x.x.x) at xx:xx:xx:xx:xx:xx [ether] on br0
如果有人知道如何从一个文件中提取包含 MAC 地址的行并通过 bash 脚本将它们发送到另一个文本文件,那将是一个很大的帮助。
谢谢
最佳答案
使用 grep
可能是最简单的:
grep -E '(..:){5}..' < infile.txt > outfile.txt
值得注意的是,这在强制匹配方面有点宽松,而不是严格匹配一个有效的 mac 地址,但这个表达式也更简单一点,很可能就足够了。
关于linux - 如何在 Linux 中使用 bash 从文本文件中提取行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15793147/
我是一名优秀的程序员,十分优秀!