次のファイルがありますが、|
ファイル内の各数字の前に区切り文字を入れる必要があります。
入力する:
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はawk
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