Цикл по файлам, возвращенным из находки?

Вот некоторые альтернативы, которые Вы могли бы хотеть проверить:

  1. ack-grep

  2. greplace.vim

  3. grep.vim

Я использую встроенное :vimgrep команда, это просто работает на меня. Для внешних инструментов я предпочитаю ack все же.

4
06.02.2015, 02:40
2 ответа

Вы, вероятно, ищете функцию «Обеспечить»:

find "${DIR}" -name "*.plist" -type f -exec echo "do some stuff to " {} \;

Разбиение этого вниз:

  • - Тесты, чтобы убедиться, что это найден файл
  • - EXEx выполняет код ....
  • ECHO «Действуйте некоторые вещи»
  • {}, представляют собой файл, работающий в ходе этой итерации
  • \; Закрывает оператор кода и возвращает следующую итерацию

Это может упростить ваш скрипт.

6
27.01.2020, 20:48

Вы создали переменные файлы с одним значением - весь вывод находки. Вместо этого необходимо использовать массивы, например:

FILES=($(find . -name "*.txt" 2>/dev/null))

, а затем на

for file in "${FILES[@]}"

Обратите внимание, что вы предпочитаете использовать $ () для замены команды вместо backticks` `.

4
27.01.2020, 20:48

Теги

Похожие вопросы