Regex 如何从字符串中修剪尾随字符(而不是空格)?

Regex 如何从字符串中修剪尾随字符(而不是空格)?,regex,string,sed,cut,Regex,String,Sed,Cut,你怎么能从一个字符串的末尾剪下n个字符呢 第2列中的兴趣字符串: 1 022102201212021 2 201212210221021 3 021201122012210 4 201212101120002 删除最后5个字符的修剪字符串: 1 0221022012 2 2012122102 3 0212011220 4 2012121011 希望能够从第2列中的字符串末尾修剪任意数量的字符。谢谢。如果要修剪的列是最后一列: awk '{print substr($0, 0, length-

你怎么能从一个字符串的末尾剪下n个字符呢

第2列中的兴趣字符串:

1 022102201212021
2 201212210221021
3 021201122012210
4 201212101120002
删除最后5个字符的修剪字符串:

1 0221022012
2 2012122102
3 0212011220
4 2012121011

希望能够从第2列中的字符串末尾修剪任意数量的字符。谢谢。

如果要修剪的列是最后一列:

awk '{print substr($0, 0, length-5)}' < INPUT > OUTPUT
awk'{print substr($0,0,length-5)}'OUTPUT
如果要修剪的列之后可能有更多列:

awk '{$2 = substr($2, 0, length($2)-5); print}' < INPUT > OUTPUT
awk'{$2=substr($2,0,长度($2)-5);print}'OUTPUT
使用sed:

sed 's/.\{5\}$//' file
1 0221022012
2 2012122102
3 0212011220
4 2012121011
使用awk,可以从每行中删除最后5个字符:

awk -F '.{5}$' '{print $1}' file
1 0221022012
2 2012122102
3 0212011220
4 2012121011