ファイルの列が最後にある場合は、カンマを削除します。

ファイルの列が最後にある場合は、カンマを削除します。

19列のタブで区切られたファイルがあり、その一部にはカンマが含まれています。このカンマが最後にある場合は、すべての列から削除したいと思います。例:

c1   c2   c3   c4   c5  
re,  f,f   d,f,  gf   mk
df   df,  df   dl,  df,

結果は次のファイルに保存する必要があります。

c1   c2    c3    c4   c5  
re   f,f   d,f   gf   mk
df   df    df    dl   df

ベストアンサー1

次のことができます。

perl -i -pe 's/,(\t|$)/$1/g' file

これにより、カンマの後にスペース、タブ、改行文字が削除されます。

たとえば、他のフィールド区切り文字の場合は、次のようにします:

perl -i -F: -lane 's/,$// for @F; print join ":",@F' file

このコマンドはソースファイルを変更します、まず削除して-iテストしてみてください。

おすすめ記事