例如:
ip_a="172.31.50.48"反转为
ip_r="48.50.31.172" << use regex on this line for evaluate text then assign to ip_r或域名
domain_a="www.linux.org"反转为
domain_r="org.linux.www" << use regex on this line for evaluate text then assign to domain_r发布于 2012-03-14 15:11:56
ip_a="172.31.50.48"
ip_r=`echo $ip_a | awk '{n=split($0,A,".");S=A[n];{for(i=n-1;i>0;i--)S=S"."A[i]}}END{print S}'`
domain_a="www.linux.org"
domain_r=`echo $domain_a | awk '{n=split($0,A,".");S=A[n];{for(i=n-1;i>0;i--)S=S"."A[i]}}END{print S}'`
echo $ip_r
echo $domain_r输出
48.50.31.172
org.linux.www发布于 2012-03-14 15:57:21
纯Bash,正如Agrajag所描述的:
IFS='.'
array=( $ip )
n=${#array[@]}
for (( i=0; i<$((n/2)); i+=1 )); do
save=${array[i]}
array[i]=${array[n-i-1]}
array[n-i-1]=$save
done
printf "%s\n" "${array[*]}"发布于 2012-03-14 19:29:55
这可能对你有用:
ip_a="172.31.50.48"
domain_a="www.linux.org"
ip_r=$(sed 'G;:a;s/\([^.]*\)\.\(.*\n\)/\2.\1/;ta;s/\n//' <<<$ip_a)
domain_r=$(sed 'G;:a;s/\([^.]*\)\.\(.*\n\)/\2.\1/;ta;s/\n//' <<<$domain_a)
echo -e "$ip_r\n$domain_r"
48.50.31.172
org.linux.wwwhttps://stackoverflow.com/questions/9697268
复制相似问题