У меня есть файл многострочного текста, где каждая строка имеет формат
..... Game #29832: ......
Я хочу добавить символ '1' к каждому числу на каждой строке (который отличается на каждой строке), кто-либо знает о способе сделать это из командной строки?
Спасибо
Использование sed
:
cat file | sed -e 's/\(Game #[0-9]*\)/\11/'
sed 's/ Game #\([0-9]*\):/ Game #1\1:/' yourfile.txt
GNU awk
awk '{b=gensub(/(Game #[0-9]+)/ ,"\\11","g",$0); print b }' file
sed -i -e 's/Game #[0-9]*/&1/' file
-i
предназначен для редактирования на месте, а &
означает все, что соответствует шаблону. Если вы не хотите перезаписывать файл, опустите флаг -i
.