Удалить номера из файла - PullRequest
0 голосов
/ 24 июня 2011

У меня есть файл вида

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

Я хочу удалить цифры из файла, чтобы он мог скомпилироваться.Я попытался использовать sed -e 's / ^ (\ d) * // g' test.cpp, но безуспешно.Пожалуйста, скажите мне, что я делал не так.

Это может быть любой другой стандартный инструмент unix, кроме sed.Также будут рассмотрены сценарий оболочки, сценарий python, awk и т. Д.

Спасибо

Ответы [ 3 ]

4 голосов
/ 24 июня 2011

Это работает:

sed -e 's/^[0-9]*//' test.cpp
Регулярное выражение

sed немного отличается от Perl. У вас нет этих «сокращенных» классов символов (например, \d или \w), а группировка выполняется с помощью \( \). Скобки в вашем выражении соответствуют буквально.

1 голос
/ 24 июня 2011
sed -r 's/^[[:digit:]]*//g'

должен это сделать

0 голосов
/ 24 июня 2011

В случае, когда каждая строка начинается с 5 цифр и пробела:

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

f = open(fileName, 'w')
for line in res:
    f.write(line+'\n')
f.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...