आप सब कुछ सही कर रहे हैं। यह '*' है जो आपको एक समस्या देता है (शेल इसे फाइलों की सूची में विस्तारित कर रहा है find
)। सही सिंटैक्स हो सकता है:
cd <your_directory>; find . -type f | xargs rm -f
find <your_directory> -type f | xargs rm -f
(उत्तरार्द्ध थोड़ा कम कुशल है क्योंकि यह अब तक के नामों को पारित xargs
कर देगा, लेकिन आप शायद ही नोटिस करेंगे :-))
वैकल्पिक रूप से, आप इस तरह से अपने '*' से बच सकते हैं (हालांकि उस स्थिति में यह "" "और" .. "को भी हटाने की कोशिश करेगा; यह कोई बड़ी बात नहीं है - आपको बस थोड़ी चेतावनी मिल जाएगी :-))"
find . -name '*' | xargs rm -f
find . -name "*" | xargs rm -f
find . -name \* | xargs rm -f
यदि आपके फ़ाइल नामों में स्थान हैं तो इसका उपयोग करें:
find . -type f -print0 | xargs -0 rm -f