আমার কাছে that : screenshot 13:25.png
উইন্ডোজের মতো নামকরণ করা একাধিক ফাইল রয়েছে এই ফাইলগুলি সম্ভবত ":" এর কারণে খোলার জন্য সংগ্রাম করে।
আমি কীভাবে এটি প্রতিস্থাপন করতে পারি?
আমার কাছে that : screenshot 13:25.png
উইন্ডোজের মতো নামকরণ করা একাধিক ফাইল রয়েছে এই ফাইলগুলি সম্ভবত ":" এর কারণে খোলার জন্য সংগ্রাম করে।
আমি কীভাবে এটি প্রতিস্থাপন করতে পারি?
উত্তর:
একটি টার্মিনালে, cd
ডান ডিরেক্টরিতে এবং তারপরে এটি চালান।
rename 's/\:/-/g' *.png -vn
এটি পুনরায় নামকরণের পূর্বরূপ করবে । এটি :
দিয়ে প্রতিস্থাপন করা উচিত -
।
যদি এটি ঠিক মনে হয় তবে প্রান্তটি সরিয়ে ফেলুন n
এবং তারপরে এটি আসল নামকরণ করবে।
দ্রষ্টব্য : ১.0.০৪ এর উপরে উবুন্টু সংস্করণগুলি প্রেরণ করে না rename
তবে এটি ডিফল্ট সংগ্রহস্থলগুলিতে এখনও উপলভ্য, সুতরাং এটি গ্রহণের sudo apt install rename
জন্য ব্যবহার করুন
n
সহজেই এটি (বা ) মুছে ফেলতে পারেন।
rename 's/\:/-/g; s/%28/ /g; s/%29//g' ...
এখানে একটি খাঁটি বাশ সমাধান:
for i in *:*; do
mv "$i" "${i//:/_}"
done
${var//pattern/replacement}
বিন্যাস এর সমস্ত সংঘটন প্রতিস্থাপন করবে pattern
সঙ্গে replacement
পরিবর্তনশীল মধ্যে $var
। বাশের স্ট্রিং মাইপুলেশন সক্ষমতা সম্পর্কে আরও তথ্যের জন্য, এখানে দেখুন ।
আপনি যদি একাধিক অক্ষরের জন্য এটি করতে চান, আপনি কেবল তাদের অক্ষর শ্রেণিতে স্থাপন করতে পারেন। সুতরাং, উদাহরণস্বরূপ, সব প্রতিস্থাপন করতে ;
, :
, =
, +
, %
, ,
আন্ডারস্কোর সঙ্গে, আপনি কাজ করতে পারে:
$ ls
1foo:bar 2foo:bar:baz 3foo;bar 4foo=bar 5foo%bar 6foo,bar 7foo+bar
$ for i in *; do mv "$i" "${i//[:;=%,+]/_}"; done
$ ls
1foo_bar 2foo_bar_baz 3foo_bar 4foo_bar 5foo_bar 6foo_bar 7foo_bar
মূলত, ধারণাটি এর [ ]
অর্থ any of the characters listed
। সুতরাং, আপনি অক্ষর শ্রেণিতে প্রতিস্থাপন করতে চান এমন সমস্ত অক্ষর রেখে, সবগুলি একসাথে ডিল করা হয়।
নির্দিষ্ট আপনি যে অক্ষরগুলি চাইলেন জন্য, কিছু একটি বিট আরো জটিল কারণ হয় তাদের মধ্যে কিছু করা প্রয়োজন পলান (আমি উপেক্ষা করছি /
* স্নো যেহেতু কোনো ফাইলের নাম এটা অনুমতি দেয় না বেশি উইন্ডোজ না যাতে কোনো হবে না সমস্যা):
$ ls
1foo<bar 2foo>bar 3foo:bar 4foo\bar 5foo|bar 6foo*bar 7foo?bar 8foo"bar 9foo'bar
$ for i in *; do mv "$i" "${i//[<>:\\|*\'\"?]/_}"; done
$ ls
1foo_bar 2foo_bar 3foo_bar 4foo_bar 5foo_bar 6foo_bar 7foo_bar 8foo_bar 9foo_bar
মনে রাখবেন যে, আমি পালিয়ে \
, '
এবং "
একটি যোগ করে \
প্রতিটি সামনে।
আপনি যদি কোনও জিইউআই পছন্দ করেন তবে পাইরেণার ইনস্টল করুন:
sudo apt-get install pyrenamer
তারপরে এটি চালান:
pyrenamer
প্যাটার্নগুলি এবং পুনরায় নামকরণ ফর্ম্যাটগুলির জন্য এটি কয়েক ডজন বিকল্প রয়েছে।
আমি জিইউআই পছন্দ করি তবে একটি নটিলাস এক্সটেনশন হিসাবে, অর্থাৎ নটিলাস অ্যাকশনগুলি অতিরিক্ত :
sudo add-apt-repository ppa:nae-team/ppa
sudo apt-get update
sudo apt-get install nautilus-actions-extra
nautilus -q
( Www.webupd8.org/2011/12/nautilus-mitted-extra-pack-of-useful.html দেখুন )
তারপরে আপনি যখন নাম পরিবর্তন করার জন্য ফাইলগুলি নির্বাচন করেন এবং প্রসঙ্গ মেনু থেকে পুনর্নবীকরণ ক্লিক করেন, আপনাকে ফাইলের নামকরণের জন্য অনেকগুলি বিকল্প দেওয়া হয়।
renameutils
প্যাকেজের মাধ্যমে একটি কুশলী নামক প্রোগ্রাম আছে qmv
যা ইন্টারেক্টিভ ব্যাচ পুনঃনামকরনের প্রদান করে। আপনি এটি একটি ডিরেক্টরি বা ফাইলগুলির তালিকায় চালান এবং এটি তাদের ফাইলের নামগুলি সহ একটি অস্থায়ী পাঠ্য ফাইল তৈরি করে এবং আপনার প্রিয় সম্পাদকটি শুরু করে। আপনি যখন সম্পাদক থেকে প্রস্থান করবেন, আপনার পরিবর্তিত কোনও ফাইলের নাম অনুসারে পুনরায় নামকরণ করা হবে। qmv
একটি ব্যাচের পুনরায় নামকরণের সমস্যাটিকে পাঠ্য সম্পাদনা সমস্যায় পরিণত করে।
এই ক্ষেত্রে, আপনি qmv -f do *:*
কোলনযুক্ত সমস্ত ফাইলের নাম সম্পাদনা করতে এবং তারপরে :%s/:/_/g
ভিমে কমান্ড ব্যবহার করতে পারেন (বা আপনি যে কোনও সম্পাদক ব্যবহার করেন তার সাথে সম্পর্কিত অনুসন্ধান এবং প্রতিস্থাপন)।
-f do
বিকল্প সেট টেক্সট ফাইল বিন্যাস গন্তব্য ফাইল-নাম শুধুমাত্র, যা অনুসন্ধান-এবং-প্রতিস্থাপন করে তোলে সহজ আছে। ডিফল্ট ফর্ম্যাটটিতে প্রতিটি লাইনে ফাইলের নামের দুটি কপি থাকে এবং আপনি কেবল দ্বিতীয়টি সম্পাদনা করেন। আপনি যদি ফাইলটিতে লাইনগুলি মুছে ফেলা বা পুনরায় অর্ডার করেন তবে এটি সঠিক কাজটি করার অনুমতি দেয়, তবে এটি সর্বদা সহজ নয়। অন্যান্য ফর্ম্যাটও রয়েছে।
এর সাহায্যে qmv
, আপনি পরিবর্তে উত্পন্ন ফাইলটি আপনার পছন্দের কমান্ডের মাধ্যমে পাইপ করা চয়ন করতে পারেন, যেমন sed
, যদি আপনি ইন্টারেক্টিভ ক্ষমতা না চান।
এবং এখানে একটি নটিলাস স্ক্রিপ্ট রয়েছে যা সমস্ত নির্বাচিত ফাইলের নামগুলিতে হাইফেনের সাথে (সমস্ত?) উইন্ডোজ-অসম্পূর্ণ অক্ষরগুলিকে প্রতিস্থাপন করে ( টেরডনের উত্তর অনুসারে ;-)
#!/bin/bash
filesall=""
while [ $# -gt 0 ]
do
files=`echo "$1" | sed 's/ /\?/g'`
filesall="$files $filesall"
shift
done
for i in $filesall; do mv "$i" "${i//[<>:\\|*\'\"?]/-}"; done
থুনার (এক্সএফসিই ফাইল-ম্যানেজার) বাল্কের নতুন নামকরণের জন্য বৈশিষ্ট্যটিতে একটি দুর্দান্ত বিল্ড রয়েছে has এতে অক্ষর অপসারণ / প্রতিস্থাপন, অনুসন্ধান এবং প্রতিস্থাপন, ফাইল সংখ্যায়ন করা এবং আরও অনেক কিছু রয়েছে।
থুনার ইনস্টল করুন:
sudo apt-get install thunar
থুনারটি খুলুন, আপনার ফাইলগুলিতে ব্রাউজ করুন, সেগুলি নির্বাচন করুন এবং 'পুনর্নামকরণ' নির্বাচন করুন (প্রসঙ্গ মেনু বা মাধ্যমে F2)
@echo off
echo.
echo. How many Characters Do You Want To Remove
echo.
echo. From The End Of The FileName ?
echo.
echo.
set /p variable=" > "
setlocal enabledelayedexpansion
for /f "delims=" %%a in (' dir /b /a-d *.mp3') do (
set oldName=%%a
Set newName=!oldName:~0,-%variable%!.mp3
Ren "!oldName!" "!newName!"
)
exit