Bash– 更正格式(sed?)

Bash– 更正格式(sed?),第1张

概述Bash – 更正格式(sed?)

我有一个IFCONfig的输出,我已经清理了三个主要部分:

1)IFname

2)IP地址

3)networking掩码

阅读bash环境variables

是否有任何修复(或解决方法)Git-2.11.0(3)处理双斜杠的64位错误?

如何在bash脚本中模拟两个连续的ENTER键的命令?

在电子表格中find文本行1并获取第2列

获取独特的线条

这目前由以下string完成:

ifconfig -a | grep eth -A 1 | awk '{print $1,$2,$4}' | sed 's/link HWaddr//g;s/inet addr://g;s/Mask://g;s/--//g;/^$/ d' | grep -v 'UP|^ '

输出如下所示:

eth0 192.168.0.60 255.255.255.0 eth1 1.1.1.1 255.255.255.0 eth2 eth2:2 10.2.2.1 255.255.255.0 eth2:3 10.3.3.1 255.255.255.0 eth2:4 10.4.4.1 255.255.255.0 eth2:5 10.5.5.1 255.255.255.0 eth2:6 10.6.6.1 255.255.255.0 eth2:7 10.7.7.1 255.255.255.0 eth2:8 10.8.8.1 255.255.255.0 eth2:9 10.9.9.1 255.255.255.0 eth2:10 10.10.10.1 255.255.255.0 eth2:11 10.11.11.1 255.255.255.0 eth2:12 10.12.12.1 255.255.255.0 eth2:13 10.13.13.1 255.255.255.0 eth2:14 10.14.14.1 255.255.255.0 eth3 eth3.2 10.30.30.1 255.255.255.0 eth3.7 10.33.77.1 255.255.255.0

现在,我需要纠正几个问题:

1)我需要的格式是(IFname IP地址networking掩码),这意味着我需要将IP /networking掩码上移一行到它相关的IF

2)我想删除当前没有configuration的接口。 在上面的例子中,你可以看到eth2和eth3在物理接口上缺less一个configuration,只有子接口/ vlan被绑在它们之外。

再次感谢您的帮助!

Jenkins将单引号添加到bash shell脚本中

Ubuntu脚本来编译多个Java文件?

“权限被拒绝”在启动时运行命令

找不到列表中的文件

是.bashrc进入一个新的bash实例时运行两次?

尝试将以下内容添加到您的命令中:

$ ... | tr -d 'n' | sed 's/eth/neth/g' | awk 'NF>1' eth0 192.168.0.60 255.255.255.0 eth1 1.1.1.1 255.255.255.0 eth2:2 10.2.2.1 255.255.255.0 eth2:3 10.3.3.1 255.255.255.0 eth2:4 10.4.4.1 255.255.255.0 eth2:5 10.5.5.1 255.255.255.0 eth2:6 10.6.6.1 255.255.255.0 eth2:7 10.7.7.1 255.255.255.0 eth2:8 10.8.8.1 255.255.255.0 eth2:9 10.9.9.1 255.255.255.0 eth2:10 10.10.10.1 255.255.255.0 eth2:11 10.11.11.1 255.255.255.0 eth2:12 10.12.12.1 255.255.255.0 eth2:13 10.13.13.1 255.255.255.0 eth2:14 10.14.14.1 255.255.255.0 eth3.2 10.30.30.1 255.255.255.0 eth3.7 10.33.77.1 255.255.255.0

它首先删除所有的新行,把所有东西都拉到一行上,然后使用sed根据eth字段将其拆分成行。 最后,它使用awk来打印只有超过1个字段的行。

(但是,我相信你的整个命令可以进一步简化,看起来你的管道太多了!)

只是为了好玩,你可以在sed中做所有的 *** 作:

ifconfig -a | sed -ne '/^eth/{s/n//;h;n;H;g;s/(S*).*inet addr:([0-9.]*).*Mask:([0-9.]*).*/1 2 3/;p;}'

说明:对于以“eth”开头的每行,删除换行符,然后将该行放入保留空间(h)。 获取下一行(n)并追加该行以保存空间(H)。 用保留空间覆盖当前行(g)。 在组合线上进行替换以提取有用位,然后打印结果。

总结

以上是内存溢出为你收集整理的Bash – 更正格式(sed?)全部内容,希望文章能够帮你解决Bash – 更正格式(sed?)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1270390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存