जवाबों:
यदि आपके पास प्रति पंक्ति एक फ़ाइल है, तो ऐसा करने का एक तरीका है:
tr '\n' '\0' < list_of_files_to_be_deleted.txt | xargs -0 -r rm --
फाइल लिस्ट को tr
कमांड के इनपुट के रूप में दिया गया है, जो फाइल सेपरेटर को लाइनफीड से नल बाइट में बदलता है और xargs
कमांड इनपुट पर null बाइट्स द्वारा अलग की गई फाइल को पढ़ता है और rm कमांड को तर्कों के रूप में संलग्न फाइलों के साथ लॉन्च करता है।
rm --
बस के बजाय का उपयोग करने का सुझाव देता हूं rm
, ताकि फ़ाइलनाम जो डैश के साथ शुरू हो सकते हैं उन्हें rm
मापदंडों के रूप में नहीं माना जाएगा ।
monu.txt' Try
अधिक जानकारी के लिए अतिरिक्त ऑपरेंड tr -help '। rm: लापता ऑपरेंड अधिक जानकारी के लिए `rm --help 'आज़माएं। ........ यह सब मैं देख पा रहा हूँ
उपरोक्त उत्तर ठीक है कि यह रिक्त स्थान और "अजीब कैक्टर्स" के साथ फाइलनामों को संभालने के लिए बहुत बड़ी लंबाई में जाता है। लेकिन सबसे आसान तरीका है, अगर फ़ाइल के नाम समझदार हैं, तो बस (चेतावनी, बैशवाद!) है।
rm $(< /the/file/with/names)
नियमित शेल के लिए:
rm `cat /the/file/with/names`