文字列の末尾から別の文字列に数値をコピーする

文字列の末尾から別の文字列に数値をコピーする

文字列の一方の端から文字列のもう一方の端に数字をコピーするには?例えば、

入力 -

Example123:Hello
Exp12:Hey1
Exp:heylo

予想出力 -

Example123:Hello123
Exp12:Hey112
Exp:heylo

sedまたはawkを使用する意思があります。区切り文字を考慮する必要があるため、row1は数字が抽出される行、行2は数字が配置される行です。

ベストアンサー1

:各入力行が一度だけ発生すると仮定すると、次のことができます。

sed 's/\([[:digit:]]*\):.*/&\1/' < input

2つ以上がある可能性があり、:2番目のフィールドではなく行の末尾に数字を追加したい場合は、次のように複雑になります。

sed 's/^\([^:]*[^:[:digit:]]\)\{0,1\}\([[:digit:]]*\):.*/&\2/' < input

おすすめ記事