gpt4 book ai didi

linux - 如何在 Linux 中使用 bash 从文本文件中提取行?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:24:18 25 4
gpt4 key购买 nike

我想使用 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com