Linux: заменить вхождение текста во всех файлах в папке
Во время переноса домена появилась задача исправить множество xml файлов сайтмапов сгруппированных по датам в разных папках. Пример структуры..
1 2 3 4 5 6 7 8 9 10 |
./sitemap/ /2018-01/ /file-1.xml /file-2.xml /2018-02/ /file-3.xml /file-4.xml и т.д. |
во всех файлах, нужно заменить site-1.com, на site-2.com. Можно было бы быстро набрасать небольшой скрипт для обхода, но я пошел другим путем и погуглил можно ли тоже самое сделать родными командами linux. Оказывается можно и довольно просто:
1 2 3 4 |
find ./sitemap/ -type f \ -exec sed -i -e 's/site-1.com/site-2.com/g' {} \; |
в корневом каталоге, были корневые сайтмапы, в них замену сделал так
1 2 3 4 |
find ./sitemap*.xml -type f \ -exec sed -i -e 's/site-1.com/site-2.com/g' {} \; |
Author: | Tags: /
| Rating:
Leave a Reply