希望能在这方面有所帮助,因为我正在挣扎。我有一个csv,它包含一个IP掩码,我想在其中获取网络IP和广播IP。
例如,我希望输入字段1.0.0.0/24输出2个包含vaules的新字段:一个是1.0.0.0,另一个是1.0.0.255。
我有代码来做这件事。
广播:

for i in $(cat geoip.csv);do bcaddr=$(ipcalc -n -b $i);echo
${bcaddr#BROADCAST=};done

对于网络:
for i in $(cat geoip.csv);do bcaddr=$(ipcalc -n -4 $i);echo
${bcaddr#BROADCAST=};done

我从这里去哪里?如何将这两个新字段追加到新的输出文件中?
提前谢谢!

最佳答案

看看这是否适用于RHEL 5.x。。。是否要以带逗号分隔符的csv格式输出?
for i in $(cat csip.csv); do echo "$i $(ipcalc -n -b $i | grep -E "Address|Broadcast" | awk {'print ","$2'} | tr '\n' ' ')" ; done > new.csv
对于您的ipcalc版本,请尝试以下操作:
for i in $(cat csip.csv); do echo "$i $(ipcalc -n -b $i | grep -E "NETWORK|BROADCAST" | awk -F= {'print ","$2'} | tr '\n' ' ')" ; done > new.csv

关于linux - Unix-将IP字段更改为csv并输出新文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50475241/

10-09 20:19
查看更多