現在私が使用している
awk -F':' '{ j=$0; gsub(/[^0-9]+/,"",j); print $0 j }'
これにより、文字列のすべての数字がコピーされ、文字列の末尾に貼り付けられます。たとえば、次のようになります。
入力 -
1Hello123
出力 -
1Hello1231123
しかし、文字列の先頭または中間ではなく、最後の数字だけをコピーしたいと思います。
したがって、この場合、予想される結果は次のとおりです。
1Hello123123
この出力では、先行 1 はまだコピーされていません。
また、sedではなくAWKを使用して実行する必要があります。
答え1
いくつかのオプションがあります:
$ echo 1Hello123 | awk '{sub(/[0-9]+$/,"&&",$0)} 1'
1Hello123123
または
$ echo 1Hello123 | awk 'match($0,/[0-9]+$/) {print $0 substr($0,RSTART,RLENGTH)}'
1Hello123123