найти + удалить только файлы с расширением .index

Вам нужен цикл:

for f in test*.in; do testExecutable <"$f" >"my${f%in}out"; done

Вышеупомянутое безопасно для всех имен файлов, даже для имен, содержащих пробелы.

0
14.05.2018, 15:22
4 ответа

Ad.1.:

find /var/kafka/kafka-logs -type f -name "*.index" -exec rm -v {} \;

La respuesta a la segunda pregunta se puede encontrar aquí:¿Cómo integrar el comando mv después del comando find? .

0
28.01.2020, 02:16

Tal comando funcionará más rápido (en comparación con find / -exec )debido a los argumentos más grandes para el comando rm a la vez. Esto no requiere GNU find.

P1.

find /var/kafka/kafka-logs -type f -name "*.index" | xargs rm

P2.

find /var/kafka/kafka-logs -name "*.index" | xargs -I {} mv {} /var/tmp/INDEX_BACKUP

También tenga en cuenta que GNU find no admite ACL ni atributos extendidos, por lo que definitivamente no desea utilizar GNU find en Solaris.

0
28.01.2020, 02:16
  • para eliminar todos los archivos que terminan en .indexbajo /var/kafka/kafka-logs, usando GNU findo compatible:

    find /var/kafka/kafka-logs -name \*.index -delete
    

    POSIXly:

    find /var/kafka/kafka-logs -name \*.index -exec rm -f {} +
    
  • para moverlos a otra carpeta, con GNUmv:

    find /var/kafka/kafka-logs -name \*.index -exec mv -t /var/tmp/INDEX_BACKUP {} +
    

    POSIXly:

    find /var/kafka/kafka-logs -name \*.index -exec sh -c '
      exec mv "$@" /var/tmp/INDEX_BACKUP/' sh {} +
    
5
28.01.2020, 02:16

Используя bashи предполагая, что нет тысяч этих файлов:

  1. rm /var/kafka/kafka-logs/**.index

  2. mv /var/kafka/kafka-logs/**.index /var/tmp/INDEX_BACKUP

    Это не будет проверять, существуют ли уже имена в месте назначения, поэтому он может перезаписать там файлы (вашими примерами файлов, вы получите только одну копию файла 00000000000000000000.index, например ).

Обе эти команды предполагают, что параметр оболочки globstarбыл установлен в bashс помощью

shopt -s globstar

Это включает шаблон глобуса **, который будет соответствовать как *, но через /в путях.

0
28.01.2020, 02:16

Теги

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