আমার নামযুক্ত বেশ কয়েকটি টিফ ফাইল রয়েছে:
sw.001.tif
sw.002.tif
...
এবং আমি .tif
প্রতিটি ফাইলের শেষে মুছে ফেলতে চাই । এটি rename
করার জন্য আমি কীভাবে আদেশটি ব্যবহার করতে পারি?
আমার নামযুক্ত বেশ কয়েকটি টিফ ফাইল রয়েছে:
sw.001.tif
sw.002.tif
...
এবং আমি .tif
প্রতিটি ফাইলের শেষে মুছে ফেলতে চাই । এটি rename
করার জন্য আমি কীভাবে আদেশটি ব্যবহার করতে পারি?
উত্তর:
perl
এর rename
(সাধারণত ডেবিয়ান যেখানে এটি বলা হয় সেখানে পাওয়া যায় prename
) বা এই ডেরাইভেটিভ ( rename
দেবিয়ান প্যাকেজ):
rename 's/\.tif$//' *.tif
util-linux
rename
(যেমনটি সাধারণত রেড হ্যাট, rename.ul
দেবিয়ান-তে পাওয়া যায় ):
rename -- .tif '' *.tif
(মনে রাখবেন যে এটির নামকরণ blah.tiffany.tif
হবে blahfany.tif
)
একটি পুনঃনামকরণের জন্য, আপনি এটি করতে পারেন:
$ for i in *.tif; do mv -i $i `basename $i .tif`; done
(-আই ফাইল প্রতিস্থাপনের বিরুদ্ধে সতর্ক করা)
for i in ./*.tif; do mv -i "$i" "${i%.tif}"; done
rename -- .oldext .newext *.oldext
এটি নতুনটির সাথে পুরানো এক্সটেনশনকে প্রতিস্থাপন করে। কেবল এক্সটেনশানটি সরাতে আপনি স্পষ্টভাবে একটি যুক্তি হিসাবে খালি স্ট্রিংয়ে পাস করতে পারেন।
rename -- .gz.tmp '' *.gz.tmp
উপরের কমান্ডের সাথে .gz.tmp
বর্তমান ফোল্ডারে এক্সটেনশনযুক্ত সমস্ত ফাইলের নাম পরিবর্তন করা হবে filename.gz
।
নিবন্ধটি দেখুন: লিনাক্স: বিশদর জন্য একাধিক ফাইলের ফাইল এক্সটেনশনগুলি সরিয়ে ফেলুন ।
rename
যা rename
থেকে traditional তিহ্যগত কমান্ডের সাথে সামঞ্জস্যপূর্ণ নয় (এবং এর চেয়ে অনেক বেশি সীমাবদ্ধ) perl
।
.oldext
, প্রসারণের প্রয়োজন foo.oldextasy.oldext
হবে না ( পুনরায় নামকরণ করা হবে footasy.oldext
)।
আমরা কি এটি পুনরাবৃত্তি করতে পারি?
for i in *.gz; do mv -i $i `basename $i .gz`; done