2014-02-11 8 views
0
if [ "`id -u`" -eq 0 ]; then 

это строка в существующем файле, и все, что я хочу изменить, - это значение 0 для значения 1, теперь мне просто интересно, как бы я это сделал в python?
Я видел публикацию других людей при импорте subprocess и используя subprocess.call([]), но это немного неясно для меня, поэтому мне просто нужен кто-то, чтобы упростить это для меня и, возможно, объяснить строку кода, которую я мог бы использовать, чтобы изменить определенную строку кода и измените это значение от 0 до 1 и подробно объясните, как это сделать, большое вам спасибо за вашу помощь.Python Как вы изменяете конкретное значение в определенной строке файла?

+0

Знаете ли вы номер строки кода? или Это конкретный шаблон, который вы хотите найти и заменить? –

+0

Я только что проверил, и это строка 100 – user3295703

+0

, и я хочу сохранить один и тот же шаблон кода. Мне просто нужно изменить это значение 0 на значение 1, спасибо за ответ – user3295703

ответ

1

Actuall, нет необходимости делать это в python. Это может быть достигнуто с помощью sed следующим образом:

sed -i 's/\(if \[ "`id -u`" -eq \)0/\11/' myfile 

Это один вкладыш в основном ищет конкретный шаблон в файле, и заменить 0 на 1, где находится эта картина.

Если вы хотите заменить шаблон только на линии номер 100:

sed -i '100s/\(if \[ "`id -u`" -eq \)0/\11/' myfile 

Позвольте мне знать, если у вас есть конкретные требования, чтобы сделать это в Python. Я могу добавить аналогичный код для python. Этот код также будет следовать аналогичному подходу, основанному на регулярных выражениях.

Смежные вопросы