Код: Выделить всё
#!/bin/bash
find /путь/где/искать -type f -name '*.torrent' -print0 | xargs --null perl -pi -e 's/что ищем/чем заменяем/'
sed -i 's/что ищем/чем заменяем/' /путь/где/искать/*.torrent
Код: Выделить всё
#!/bin/bash
find /путь/где/искать -type f -name '*.torrent' -print0 | xargs --null perl -pi -e 's/что ищем/чем заменяем/'
sed -i 's/что ищем/чем заменяем/' /путь/где/искать/*.torrent
Код: Выделить всё
grep -r "ваш_текст" /path/to/directory
Код: Выделить всё
grep -r --include="*.txt" "ваш_текст" /path/to/directory
Код: Выделить всё
grep -e 'Class 1' -e 'Todd' Students.txt
Код: Выделить всё
find /путь/где/ищем -name "*искомый фрагмент имени файла или каталога*"
Код: Выделить всё
#!/bin/bash
# Функция для поиска и замены
# Аргументы:
# $1 - строка поиска
# $2 - строка замены (может быть пустой)
# $3 - расширения файлов через запятую (например: php,json)
search_and_replace() {
local search_string="$1"
local replacement="$2"
local extensions="$3"
# Преобразуем расширения в формат, пригодный для find
IFS=',' read -ra ext_array <<< "$extensions"
# Формируем условие поиска по расширениям
local name_conditions=()
for ext in "${ext_array[@]}"; do
name_conditions+=("-name" "*.${ext}")
done
# Ищем файлы с заданными расширениями
find . -type f \( "${name_conditions[@]}" \) -print0 | while IFS= read -r -d '' file; do
# Ищем первую строку с содержимым
line_info=$(grep -n -m 1 -F "$search_string" "$file")
if [ -n "$line_info" ]; then
line_number=$(echo "$line_info" | cut -d: -f1)
line_content=$(echo "$line_info" | cut -d: -f2-)
if [ -n "$replacement" ]; then
# Замена в файле
sed -i "${line_number}s/$search_string/$replacement/" "$file"
echo "Заменено в файле: $file, строка: $line_number"
else
# Вывод информации
echo "Файл: $file, строка номер $line_number: $line_content"
fi
fi
done
}
# Пример вызова функции:
# search_and_replace "искомая строка" "замена" "php,json"
Код: Выделить всё
#!/bin/bash
# Подключение библиотеки
source /путь/к/search_replace_lib.sh
# Использование функции
search_and_replace "строка поиска" "строка замены" "php,json"
Код: Выделить всё
source ./search_replace_lib.sh