カンマの後の1文字を削除

カンマの後の1文字を削除

カンマで区切られた2〜6個のフィールドを表示する一意の列を含むテキストファイル(約300,000行)があります。

A,BB,CC  
EF,GHI,DKLM,OP          
Q,RS,TUV 
W,XY 

私が達成したいもの:

A,B,C  
EF,HI,KLM,P         
Q,S,UV 
W,Y 

つまり、各行の各カンマの後の最初の文字を削除したいと思います。

あなたの時間と助けに感謝します。ありがとう、

ローラン

ベストアンサー1

$ cat file
A,BB,CC
EF,GHI,DKLM,OP
Q,RS,TUV
W,XY
$ sed 's/,./,/g' file
A,B,C
EF,HI,KLM,P
Q,S,UV
W,Y

正規表現は、,.リテラルコンマの後に他の文字が続くものと一致します。このsed式は、s/,./,/g 各コンマとそれに続く文字をコンマだけで置き換えて、他の文字を効果的に削除します。すべての行で重複しないすべての項目を置き換えます。

出力を新しいファイルにリダイレクトするか、適切に一緒に使用しますsed(参照-ised -i(所定の位置で編集)を使用して移植性を達成するには?)。

おすすめ記事