从一行中修剪最后一个字符

Sig*_*gur 0 string shell-script csv

我有一个csv文件,行的长度不同。但它们都以一个数字结尾,并被一对大括号包围。例如,

........{5}
........{16}
Run Code Online (Sandbox Code Playgroud)

例如,我想删除数字和大括号,或者将它们替换为双引号。结果可能是

........
........
Run Code Online (Sandbox Code Playgroud)

或者

........"
........"
Run Code Online (Sandbox Code Playgroud)

我只找到了固定长度的行或行尾具有相同字符串的解决方案。

任何的想法?

gle*_*man 5

要删除,使用 GNU sed

sed 's/{[0-9]\+}$//' file.csv
Run Code Online (Sandbox Code Playgroud)

标准等价物:

sed 's/{[0-9]\{1,\}}$//' file.csv
Run Code Online (Sandbox Code Playgroud)

或者:

sed 's/{[0-9][0-9]*}$//' file.csv
Run Code Online (Sandbox Code Playgroud)

更换///"/,如果你要替换"而不是删除。