繁体   English   中英

Bash“反转”字符串

[英]Bash “reverse” a string

IP 12.34.56.78

我想找到一种方法来回应这一点并显示以下输出

78.56.34.12

host 12.34.56.78的输出相同,但没有其他所有术语。

也许可以只使用主机并删除所有其他内容。 理想情况下,将避免主机查找。

有任何想法吗?

谢谢

试试这个单线:

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前缀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

我认为我的答案不能解决您的问题,Kent似乎为您提供了一种很好的方法,但是如果其他人正在寻找反转BASH字符串并在此处使用的话,这可能会很有用:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM