Добавление символа в конце строки для совпадения - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть куча файлов со строками типа «циклы = 1000», «циклы = 1500» и т. Д. (Число после = варьируется от файла к файлу).

Мое требование: мне нужно добавить конечный ноль только в эти строки файла.

В файле есть другие строки, которые я хочу оставить без изменений.

Может ли кто-нибудь помочь мне с этим?

-Giri

Ответы [ 2 ]

3 голосов
/ 08 ноября 2011

Попробуйте использовать команду sed:

cat file.txt | sed 's/cycles=[0-9]*/&0/g'

РЕДАКТИРОВАТЬ: При необходимости вы можете добавить эти строки начала и конца соответствующие вещи в команду:

cat koe.txt | sed 's/^cycles=[0-9]*$/&0/g'
0 голосов
/ 08 ноября 2011

Предполагая, что вы находитесь в среде с достойными инструментами обработки текста (например, UNIX, Linux или Windows с CygWin), вы можете использовать awk для этого согласно следующей расшифровке:

pax$ echo 'cycles=1000
notcycles=25
cycles=1500
something else again' | awk '/^cycles=/ {$0 = $0 "0"} {print}'

cycles=10000
notcycles=25
cycles=15000
something else again

По существу, к любым строкам, начинающимся с текста cycles=, добавляется 0.

Затем выводится строка (измененная или нет).

...