Как объединить вывод нескольких команд `find`?

find -type f -name "*.avi" -exec md5sum {} + > checklist.chk
find -type f -name "*.mp4" -exec md5sum {} + > checklist.chk

Как объединить эти две команды?

  1. Либо путем объединения обоих поисковых терминов в одну команду, либо

  2. , чтобы каждая Команда добавляет свои выходные данные в тот же файл.

Надеюсь, понятно, что я пытаюсь сделать.

11
задан 17 November 2015 в 10:37

3 ответа

Объединение:

find -type f \( -name "*.avi" -or -name '*.mp4' \) -exec md5sum {} + > checklist.chk 

продукция Добавления к одному файлу:

find -type f -name "*.avi" -exec md5sum {} + > checklist.chk
find -type f -name "*.mp4" -exec md5sum {} + >> checklist.chk
25
ответ дан 17 November 2015 в 20:37
  • 1
    Можно ли проверить с помощью ping-запросов принтер? – Organic Marble 8 February 2017 в 03:20

Есть много способов сделать это:

Используя Или -o:

find . -type f \( -name '*.avi' -o -name '*.mp4' \) -exec md5sum {} + > checklist.chk

Используя Regex:

find . -type f  -regextype posix-extended -regex '.*\.(avi|mp4) 

Оба напишут продукцию файлу checklist.chk.

-exec md5sum {} + > checklist.chk

Оба напишут продукцию файлу checklist.chk.

8
ответ дан 17 November 2015 в 20:37
  • 1
    Я can' t находят IP принтера (сетевой отчет от принтера doesn' t показывают его). Но поскольку мой компьютер может найти его на LAN, я предполагаю, что ping должен работать – thomas 8 February 2017 в 04:12

С -o флаг (который находится под контролем ОПЕРАТОРОВ в find страница человека)

find . -type f \( -name "*.avi" -o -name "*.mp4" \) -exec md5sum {} + > checklist.chk
4
ответ дан 17 November 2015 в 20:37
  • 1
    It' s некоторое время, так как я настроил это, но я должен был установить фиксированный IP для принтера в моем маршрутизаторе, затем изменить URI в настройке принтера от cnijbe2://Canon/? port=net& последовательный = [MAC-адрес] к ipp://[IP LAN принтера], чтобы заставить его последовательно работать. – Organic Marble 8 February 2017 в 04:16

Другие вопросы по тегам:

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