Как пропустить поле при замене другого поля в файле - PullRequest
0 голосов
/ 27 января 2019

У меня есть 100 файлов со строками вроде следующего:

ABC+123+74859308812345'XYZ
ABC+12+64859603759604'XYZ
ABC+41+73596027485910'XYZ

Во всех файлах я хочу заменить первые 10 чисел после второго + на NEWREF следующим образом:

ABC+123+NEWREF2345'XYZ
ABC+12+NEWREF9604'XYZ
ABC+41+NEWREF5910'XYZ

1 Ответ

0 голосов
/ 27 января 2019

Вы можете использовать для изменения содержимого файла.

 sed -i 's/[0-9]\{10\}/NEWREF/g' <filename>

скажем, если test является именем файла, то.

sed -i 's/[0-9]\{10\}/NEWREF/g' test

теперь вы можете использовать эту команду в цикле для итерации для 100 файлов или использовать ls с шаблономпередать список файлов, в которых необходимо выполнить замену.

sed -i 's/[0-9]\{10\}/NEWREF/g' `ls <filename pattern>`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...