root / my Debian tips&tricks / grep, find и прочие полезности (то, для чего было бы слишком много целого раздела...) |
|
grep с исключеникм файлов grep --color -n --exclude=файл_или_маска 'что_искать' где_искать grep в файлах php в заданном каталоге find где_искать -type f -iname "*.php" -exec grep -Him1 'что_искать' {} \; grep в файлах на еоторые выставлены права 777 find где_искать -perm 2 -type f -iname "*.php" -exec grep -Him1 'что_искать' {} \; поиск файлов заданного типа в определённом каталоге find где_искать -perm 2 -type f -iname "*.php" поиск файлов заданного типа измененных за последние 7 дней find где_искать -type f -iname "*.php" -mtime -7 Рекурсивно найти и заменить текст в файлах вариант 1: find . -type f -name '*.html' -exec sed -i 's|что_искать|на_что_менять|g' {} + вариант 2: find . -type f -name "*.txt" -print0 | xargs -0 sed -i '' -e 's/foo/bar/g' Как это работает:
Если надо убрать зависимость от xargs: find . -type f -name "*.txt" -exec sed -i'' -e 's/foo/bar/g' {} + Ещё один вариант: find -name '*.txt' -exec sed -i 's/foo/bar/g' {} +делает тоже самое с GNU find. А если используется git, подойдёт вариант: git grep -lz foo | xargs -0 sed -i '' -e 's/foo/bar/g' |