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
:
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
私の答えがあなたの質問を解決するとは思いません.ケントはあなたに良い方法を提供したようですが、他の人がBASH文字列を逆にしてここにたどり着こうとしている場合、これは役立つかもしれません:
echo -n $YOUR_STRING | tac -rs [^-\n]