使用Sed来消除某些模式周围的字符,而不是其他模式

时间:2011-05-04 21:13:06

标签: bash unix syntax sed

我有一个包含数千行标记的文件:

{3203}

{1293}

{XII}

{XI}

{VII}

等...

我需要消除数字周围的括号,而不是字母(罗马数字),所以本质上它看起来像

3203

1293

{XII}

{XI}

{VII}

等。

我会提出我到目前为止所测试的内容,但我并不是特别接近于使sed语句的任何部分正确。

2 个答案:

答案 0 :(得分:5)

这可能接近您所寻找的内容:

sed -e 's/{\([0-9]\+\)}/\1/g' inputfile

答案 1 :(得分:0)

无法让它与sed一起使用,但如果您有Perl可用,则此方法有效:

perl -pe 's/{(\d+)}/\1/' inputfile