আপনি ঠিক করতে পারেন:
gzip *
gzip আপনাকে জানাবে এটি ইতিমধ্যে .gz
শেষ হওয়া ফাইলগুলি এড়িয়ে চলে ।
যদি সেই বার্তাটি আপনি ব্যবহার করতে পারেন তবে:
gzip -q *
আপনি যা চেষ্টা করেছেন তা কাজ gzip
করে না , কারণ স্টিডিনের থেকে সংকোচনের জন্য ফাইলগুলির ফাইলের নামগুলি পড়েন না, সেই কাজের জন্য আপনাকে ব্যবহার করতে হবে:
ls | grep -v gz | xargs gzip
আপনি gz
কেবল শেষের দিকে নয়, ফাইলের নামের যে কোনও জায়গায় প্যাটার্নযুক্ত ফাইলগুলিকে বাদ দেবেন ¹ আপনাকে আরও খেয়াল রাখতে হবে যে ls
স্পেস, নিউলাইনস ইত্যাদির সাথে ফাইলের নাম জড়িত থাকার সময় আউটপুট পার্সিং করা বিপজ্জনক।
আরও পরিষ্কার সমাধান, শেষের gzip
সাথে ফাইলগুলি এড়িয়ে যাওয়ার উপর নির্ভর না .gz
করা, এটি সাব-ডাইরেক্টরিগুলিতে অ-সংকুচিত ফাইলগুলি পরিচালনা করে:
find . -type f ! -name "*.gz" -exec gzip {} \;
Com যেমন মন্তব্য করা হয়েছে: এটির উন্নতি করতে একা ব্যবহার করা কার্যকর হবে না। আপনি ব্যবহার করতে হবে বা । এটি এখনও আউটপুট প্রক্রিয়াজাতকরণের বিপদ ছেড়ে দেয়izkata
.gz
grep -vF .gz
grep -v '\.gz$'
ls
$
এটি পরিষ্কার করে ব্যবহার করুন । এবং আপনি.
যেভাবেই পালাতে পারেননি , সুতরাং এটি কেবল ফাইলগুলি বাদ দেয় যা শুরু হয়gz
(যেহেতু তাদের "পূর্বে কোনও চরিত্র নেইgz
")