найдите и замените от Unix командной строки

У меня есть файл многострочного текста, где каждая строка имеет формат

..... Game #29832: ......

Я хочу добавить символ '1' к каждому числу на каждой строке (который отличается на каждой строке), кто-либо знает о способе сделать это из командной строки?

Спасибо

5
задан Aly 23 February 2010 в 17:21
поделиться

4 ответа

Использование sed :

cat file | sed -e 's/\(Game #[0-9]*\)/\11/'
4
ответ дан 13 December 2019 в 19:26
поделиться
sed 's/ Game #\([0-9]*\):/ Game #1\1:/' yourfile.txt
1
ответ дан 13 December 2019 в 19:26
поделиться

GNU awk

awk '{b=gensub(/(Game #[0-9]+)/ ,"\\11","g",$0); print b }' file
0
ответ дан 13 December 2019 в 19:26
поделиться
sed -i -e 's/Game #[0-9]*/&1/' file

-i предназначен для редактирования на месте, а & означает все, что соответствует шаблону. Если вы не хотите перезаписывать файл, опустите флаг -i .

6
ответ дан 13 December 2019 в 19:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: