3

次の偽のデータがあります。

Dominik Dryja|4111 2386 0873 0189|0315
Laivonen Eero|5111 0620 0750 8041|0813
Jukka Valimaa|5111 6500 0489 0035|0415
Rafael Diaz de Leon|4111 3036 6209 4796|0516
Mr Jonathan Bird|4111 6150 0291 7415|0215
ERRANTE VINCENZO|4222 6111 0038 6639|0114
YOSHIO MOTOKI|5222 3200 0374 7129|0513
I. A. VLACHOGIANNIS|4333 0115 6936 2003|0315
Soumya Kanti Deb|4333 0590 0165 4877|1019
WU KE ZHAN|5444 8213 7236 0431|0716

次のように、桁数からスペースのみを削除しようとしています。

Dominik Dryja|4111238608730189|0315
Laivonen Eero|5111062007508041|0813
Jukka Valimaa|5111650004890035|0415
Rafael Diaz de Leon|4111303662094796|0516
Mr Jonathan Bird|4111615002917415|0215
ERRANTE VINCENZO|4222611100386639|0114
YOSHIO MOTOKI|5222320003747129|0513
I. A. VLACHOGIANNIS|4333011569362003|0315
Soumya Kanti Deb|4333059001654877|1019
WU KE ZHAN|5444821372360431|0716

sed -r '#|([0-9]{4})\ ([0-9]{4})\ ([0-9]{4})\ ([0-9]{4})|#\1\2\3\4#g' 何らかの理由で成功せずに試しました。私が間違っているところはありますか?

ありがとう!

4

2 に答える 2

2

sed を簡素化できます。

sed 's/\([0-9]\{4\}\) /\1/g' inFile
于 2013-04-26T07:35:52.497 に答える
1

数字の間に常に単一のスペースがあると仮定します。

sed 's/\([0-9]\) \([0-9]\)/\1\2/g'

あなたの例で動作します。コードは単純です - 2 つの数字の間にスペースがある場合は、それらをすべて削除してください。

于 2013-04-26T07:29:40.387 に答える