एकाधिक `find` कमांड के आउटपुट को कैसे संयोजित करें?


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

इन दोनों कमांड को कैसे मिलाएं?

  1. या तो दोनों खोज शब्दों को एक कमांड में जोड़कर या

  2. ताकि प्रत्येक कमांड अपने आउटपुट को एक ही फाइल में जोड़े।

आशा है कि यह स्पष्ट है कि मैं क्या करने की कोशिश कर रहा हूं।

जवाबों:


25

मेल:

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

1
आउटपुट फ़ाइल में संलग्न होने की संभावना का उल्लेख करने के लिए +1।
डब्यू

8

इसे करने के कई तरीके हैं:

का उपयोग कर या -o:

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

रेगेक्स का उपयोग करना:

find . -type f  -regextype posix-extended -regex '.*\.(avi|mp4)$' -exec md5sum {} + > checklist.chk

दोनों आउटपुट फाइल में लिखेंगे checklist.chk


1
धन्यवाद .. मैं -o ऑपरेटर के बारे में जानता था, लेकिन सिंटैक्स नहीं जानता था। इसके अलावा regex के बारे में इस तरह इस्तेमाल किया जा सकता है पता नहीं था। धन्यवाद :)
akya

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.