行の最後の文字を切り捨てる

行の最後の文字を切り捨てる

csv異なる長さの行を持つファイルがあります。しかし、すべて一対の中かっこで囲まれた数字で終わります。例えば、

........{5}
........{16}

たとえば、数字と中括弧を削除したり、二重引用符で置き換えたいとします。結果は次のとおりです。

........
........

または

........"
........"

固定長があるか、行の末尾に同じ文字列がある行の解決策のみが見つかりました。

どんなアイデアがありますか?

ベストアンサー1

削除するにはGNUを使用してくださいsed

sed 's/{[0-9]\+}$//' file.csv

標準同等:

sed 's/{[0-9]\{1,\}}$//' file.csv

または:

sed 's/{[0-9][0-9]*}$//' file.csv

削除の代わりに交換するには、//次のように交換してください。/"/"

おすすめ記事