Мне не удалось найти то, что я ищу, поэтому я решил, что спрошу. Я ищу способ сделать следующее:Bash script Изменить все
- Сканирование директории, содержащей пронумерованные каталоги (25-109)
- Сканирование каталогов внутри этих пронумерованных каталогов
- Найдите строку во всех файлов с именем "map.inp", содержащий текст: "MAP_93 = A 93 A"
- Изменить все вхождения в "MAP_93 = A 93 V"
Обычно я хотел бы сделать это вручную, но есть примерно одна тысяча файлов редактировать каждый в своих собственных каталог. Я нашел схему linux для достижения этой цели, но я не уверен, как использовать скрипт Bash, который имеет ту же функциональность. Все файлы, подлежащие изменению, имеют одно и то же имя, map.inp.
Пути находятся в каталоге jan10, но и в подкаталогах, как это:
/user/jan10/100/100A/map.inp
/user/jan10/99/99A/map.inp
т.д.
Схема линукс я нашел бы работать так:
find /user/jan10/ \
name map.inp \
exec sed -i~ 's/MAP_93= A 93 A\+/MAP_93= A 93 V/' {} \;
желательным вводом будет:
MAP_89= A 93 A
И выход:
MAP_93= A 93 V
Кто-нибудь есть идеи о том, как это сделать? Приносим извинения, если это неясно,
и осторожно с пространством при использовании его в части регулярного выражения. –
Ты точно прав, спасибо за это! – George