Назад | Перейти на главную страницу

рекурсивно использовать SED в Linux?

Я хочу рекурсивно реализовать следующую команду

sed -i 's/href=\"1\//href=\"\/1\//g' ./*

так что он заменяет все href = "1 на href =" / 1 во всех подкаталогах. Есть ли флаг, который я могу добавить к этой команде для достижения желаемых результатов?

find . -type f -print0 | xargs -0 sed -i 's/href=\"1\//href=\"\/1\//g'

За https://stackoverflow.com/a/5130044/833771, если целевой каталог является корнем Git или SVN, вы должны использовать: find . -not \( -name .svn -prune -o -name .git -prune \) -type f -print0 | xargs -0 sed -i 's/href=\"1\//href=\"\/1\//g'