我有一个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?)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)