用于从文本文件解析ip:port的Shell脚本

时间:2012-07-11 08:32:08

标签: bash shell text-parsing

我每天都会收到一个带有ip:port的文本文件,每行一个,例如:

11.22.33.44:80
22.33.44.55:8080
33.44.55.66:7777

我想在两个不同的变量中解析第一个ip和端口,然后将它们写入另一个文件,等待使用这些变量的程序,循环此循环以将所有ip:port传递给文件并执行程序

我该怎么做?

谢谢

2 个答案:

答案 0 :(得分:4)

纯粹的bash解决方案:

while IFS=: read ip port; do
    echo $ip $port
done < in.txt

这样做的好处是允许你在while循环中设置变量,这些变量在循环完成后仍然可用。

答案 1 :(得分:2)

cat in.txt | sed -e "s/:/ /" | while read ip port
do
  echo $ip $port # or do something with it
done