簡體   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