目前我正在使用
awk -F':' '{ j=$0; gsub(/[^0-9]+/,"",j); print $0 j }'
这将复制字符串中的所有数字并将它们粘贴到字符串的末尾,例如 -
输入 -
1Hello123
输出 -
1Hello1231123
但是我只想复制字符串末尾的数字,而不是开头或中间的数字
所以在这种情况下的预期输出将是 -
1Hello123123
在此输出中,开头的 1 尚未被复制。
还必须使用 AWK 完成,而不是 sed。
答案1
有几个选项:
$ echo 1Hello123 | awk '{sub(/[0-9]+$/,"&&",$0)} 1'
1Hello123123
或者
$ echo 1Hello123 | awk 'match($0,/[0-9]+$/) {print $0 substr($0,RSTART,RLENGTH)}'
1Hello123123