次の入力文字列があります。
arg1.arg2.arg3.arg4.arg5
私が望む出力は次のとおりです。
arg5.arg4.arg3.arg2.arg1
パラメータは常に5つではなく、2〜10個でもかまいません。
Bashスクリプトでこれをどのように実行できますか?
ベストアンサー1
tr
tac
++の組み合わせを使用してくださいpaste
$ tr '.' $'\n' <<< 'arg1.arg2.arg3.arg4.arg5' | tac | paste -s -d '.' arg5.arg4.arg3.arg2.arg1
それでもbashを好むなら、これを行うことができます。
IFS=. read -ra line <<< "arg1.arg2.arg3.arg4." let x=${#line[@]}-1; while [ "$x" -ge 0 ]; do echo -n "${line[$x]}."; let x--; done
使用
perl
、$ echo 'arg1.arg2.arg3.arg4.arg5' | perl -lne 'print join ".", reverse split/\./;' arg5.arg4.arg3.arg2.arg1