删除文件中的数字

时间:2011-06-24 07:47:02

标签: python regex scripting sed awk

我有一个

形式的文件
00040 void FormExample::setLanguage(const std::string lang)
00041 {
00042   bool haveLang = false;
00043

我想从文件中删除数字,以便它可以编译。 我试过用     sed -e's / ^(\ d)* // g'test.cpp但没有成功。请告诉我我做错了什么。

除了sed之外,它可以是任何其他标准的unix工具。还将考虑Shell脚本,python脚本,awk等。

由于

3 个答案:

答案 0 :(得分:4)

这有效:

sed -e 's/^[0-9]*//' test.cpp

sed's regex flavor与Perl有点不同。您没有此“速记”字符类(例如\d\w),分组由\( \)完成。表达式中的括号按字面意思匹配。

答案 1 :(得分:1)

sed -r 's/^[[:digit:]]*//g'

应该这样做

答案 2 :(得分:0)

如果每行以5位数和空格开头:

res = [line[6:] for line in open(fileName, 'r')]

f = open(fileName, 'w')
for line in res:
    f.write(line+'\n')
f.close()