2013-04-22 39 views
0
IP 12.34.56.78 

我想找到一种方法来呼应这一点,并显示以下输出打击“反向”的字符串

78.56.34.12 

相同的host 12.34.56.78输出,但没有其他所有的行话....

也许可以使用主机,并删除所有其他的东西。理想情况下会避免主机查找。

任何想法?

感谢

回答

3

尝试这一个班轮:

awk -F. '{s="";for (i=NF;i>1;i--) s=s sprintf("%s.",$i);$0=s $1}1' file 

你的榜样:

kent$ echo "12.34.56.78"|awk -F. '{s="";for (i=NF;i>1;i--) s=s sprintf("%s.",$i);$0=s $1}1' 
78.56.34.12 

,如果你有一个前缀HOST or IP or whatever

kent$ echo "FOO 12.34.56.78"|awk -F'[. ]' '{s="";for (i=NF;i>2;i--) s=s sprintf("%s.",$i);$0=$1" "s $2}1' 
FOO 78.56.34.12 
+0

+1这里。我没有在我的回答中正确理解这个想法,所以我删除了它。无法打败你的'awk'单线! – fedorqui 2013-04-22 12:58:45

0

我不t th墨我的回答可以解决你的问题,肯特似乎提供了一个很好的方法适合你,但如果其他人正在寻找反转BASH丝竹在这里,这可能是有用的:

echo -n $YOUR_STRING | tac -rs [^-\n]