我想在每行的倒数第3个字符之前插入一个空格,以使其变为
CC287999221
CHGFFDTTT34AAA387
CH654AZ0987XX277
为此:
CC287999 221
CHGFFDTTT34AAA 387
CH654AZ0987XX 277
到目前为止,我已经尝试过:
sed -i 's/.*\(...\)/ \1/' file
但是,这也会删除前面的文本。
谢谢
答案 0 :(得分:3)
一种方法:
sed 's/\(...$\)/ \1/' file
仅匹配最后3个字符,同时代入空格和匹配的模式(\1
)
答案 1 :(得分:1)
请使用awk
,请尝试以下操作。
awk '{print substr($0,1,length($0)-3),substr($0,length($0)-2)}' Input_file
答案 2 :(得分:0)
尝试使用gnu sed:
sed -E 's/\S{3}\s*$/ &/' file
答案 3 :(得分:0)
另一项awk建议:
awk '{sub(/.{3}$/," &")}1' file
CC287999 221
CHGFFDTTT34AAA 387
CH654AZ0987XX 277