在文件中的数字之前放置分隔符

在文件中的数字之前放置分隔符

我有一个这样的文件,我需要|在文件中的每个数字之前放置一个分隔符:。

输入:

sg_fxops_mm hello  2324
sg_fxops_cf  340
G_buc_call  4234
SG_buc_commloan  53465
SG_buc_call_chg  1

预期输出:

sg_fxops_mm hello | 2324
sg_fxops_cf | 340
G_buc_call | 4234
SG_buc_commloan | 53465
SG_buc_call_chg | 1

答案1

捕获第一个数字,将其替换为|捕获的数字:

sed -e 's/\([0-9]\)/| \1/'

答案2

通过 GNUawk设置 FS(不仅仅是空格)和 OFS(|空格之间)你可以得到它。

awk -v FS='[[:blank:]]{2,}' '{print $1, $2}' OFS=" | " file

sg_fxops_mm hello | 2324
sg_fxops_cf | 340
G_buc_call | 4234
SG_buc_commloan | 53465
SG_buc_call_chg | 1

相关内容