ファイルの数字の前に区切り記号を入れます。

ファイルの数字の前に区切り記号を入れます。

次のファイルがありますが、|ファイル内の各数字の前に区切り文字を入れる必要があります。

入力する:

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

GNUはawkFS(スペースだけでなく)と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

関連情報