Sake suna - Kayan Aikin Layin Umurni Don Sake Sunan Fayiloli da yawa a cikin Linux


Sau da yawa muna amfani da umarnin mv don sake sunan fayil ɗaya a cikin Linux. Koyaya, sake suna da yawa ko rukuni na fayiloli cikin sauri yana sa aiki mai wahala sosai a cikin tasha.

Linux ya zo da kayan aiki mai ƙarfi mai ƙarfi da ake kira rename. Ana amfani da umarnin sake suna don sake suna da yawa ko rukuni na fayiloli, sake suna fayiloli zuwa ƙananan haruffa, sake suna fayiloli zuwa manyan baƙaƙe da sake rubuta fayiloli ta amfani da maganganun perl.

Umarnin sake suna wani ɓangare ne na rubutun Perl kuma yana zaune a ƙarƙashin/usr/bin/akan yawancin rabawa na Linux. Kuna iya gudanar da umarnin wanne don gano wurin umarnin sake suna.

$ which rename
/usr/bin/rename
rename 's/old-name/new-name/' files

Umarnin sake suna ya zo tare da ƴan gardama na zaɓi tare da tilas perl magana wanda ke jagorantar umarnin sake suna don yin ainihin aiki.

rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]

  1. -v: Buga sunayen fayiloli cikin nasarar sake suna.
  2. -n: Nuna waɗanne fayiloli da za a sake suna.
  3. -f: Tilasta sake rubuta fayilolin da ke akwai.
  4. perlexr: Maganar Perl.

Don ƙarin fahimtar wannan amfanin, mun tattauna ƴan misalai masu amfani na wannan umarni a cikin labarin.

1. Misalin Sake suna na asali

A ce kuna da tarin fayiloli tare da tsawo na .html kuma kuna son sake suna duk fayilolin .html zuwa .php a lokaci guda. Misali, fara yin “ls -l” don duba jerin fayiloli tare da tsawo na “.html”.

# [email :~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html
-rw-rw-r-- 1 ravisaive ravisaive  588895 Oct 10 12:10 entertainment.html
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html
-rw-rw-r-- 1 ravisaive ravisaive  938895 Oct 10 12:10 news.html
-rw-rw-r-- 1 ravisaive ravisaive  938937 Oct 10 12:11 photos.html
-rw-rw-r-- 1 ravisaive ravisaive  978137 Oct 10 12:11 sports.html

Yanzu, kuna son canza tsawo na duk waɗannan fayilolin daga .html zuwa .php. Kuna iya amfani da umarnin sake suna mai zuwa tare da furci ɗaya kamar yadda aka nuna a ƙasa.

[email :~$ rename 's/\.html$/\.php/' *.html

Lura: A cikin umarnin da ke sama mun yi amfani da mahawara guda biyu.

  1. Muhawara ta farko kalma ce da ta maye gurbin .html da .php.
  2. Hujja ta biyu tana gaya wa umarnin sake suna don musanya duk fayilolin da *.php.

Bari mu tabbatar ko duk fayiloli an sake suna zuwa .php tsawo, yin ls-l akan saurin.

[email :~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.php
-rw-rw-r-- 1 ravisaive ravisaive  588895 Oct 10 12:10 entertainment.php
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.php
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.php
-rw-rw-r-- 1 ravisaive ravisaive  938895 Oct 10 12:10 news.php
-rw-rw-r-- 1 ravisaive ravisaive  938937 Oct 10 12:11 photos.php
-rw-rw-r-- 1 ravisaive ravisaive  978137 Oct 10 12:11 sports.php

Yanzu zaku iya gani a sama cewa duk fayilolin html an canza su zuwa php.

2. Bincika Canje-canje Kafin Gudanar da Sake suna

Yayin yin ayyuka masu mahimmanci ko manyan ayyukan sake suna, koyaushe kuna iya bincika canje-canje ta hanyar aiwatar da umarnin sake suna tare da hujja -n. Ma'aunin -n zai gaya muku ainihin canje-canjen da za su faru, amma canje-canjen ba a yi su da gaske ba. Anan, shine misalin umarnin da ke ƙasa.

[email :~$ rename -n 's/\.php$/\.html/' *.php

cricket.php renamed as cricket.html
entertainment.php renamed as entertainment.html
health.php renamed as health.html
lifestyle.php renamed as lifestyle.html
news.php renamed as news.html
photos.php renamed as photos.html
sports.php renamed as sports.html

Lura: Fitowar umarnin da ke sama kawai yana nuna canje-canje, amma a zahiri ba a yin canje-canjen, sai dai idan kun gudanar da umarnin ba tare da canza “-n”.

3. Print Rename Output

Mun ga cewa umurnin sake suna bai nuna wani bayani na canje-canjen da yake yi ba. Don haka, idan kuna son samun cikakkun bayanan umarnin sake suna (kamar yadda muka yi amfani da zaɓin -n), a nan muna amfani da zaɓin -v don buga cikakkun bayanan duk canje-canjen da aka yi ta hanyar sake suna cikin nasara.

[email :~$ rename -v 's/\.php$/\.html/' *.php

cricket.php renamed as cricket.html
entertainment.php renamed as entertainment.html
health.php renamed as health.html
lifestyle.php renamed as lifestyle.html
news.php renamed as news.html
photos.php renamed as photos.html
sports.php renamed as sports.html

4. Mayar da duk Ƙananan Harafi zuwa Babban Babba da Vise-Versa

Don batch sake suna duk fayiloli tare da ƙananan sunaye zuwa babban harka. Misali, Ina so in rufe duk waɗannan fayiloli masu zuwa daga ƙasa zuwa babba.

[email :~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html
-rw-rw-r-- 1 ravisaive ravisaive  588895 Oct 10 12:10 entertainment.html
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html
-rw-rw-r-- 1 ravisaive ravisaive  938895 Oct 10 12:10 news.html
-rw-rw-r-- 1 ravisaive ravisaive  938937 Oct 10 12:11 photos.html
-rw-rw-r-- 1 ravisaive ravisaive  978137 Oct 10 12:11 sports.html

Kawai, yi amfani da umarni mai zuwa tare da furci na perl.

[email :~$ rename 'y/a-z/A-Z/' *.html

Da zarar kun aiwatar da umarnin da ke sama, zaku iya bincika canje-canje ta yin ls -l.

[email :~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 CRICKET.HTML
-rw-rw-r-- 1 ravisaive ravisaive  588895 Oct 10 12:10 ENTERTAINMENT.HTML
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 HEALTH.HTML
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 LIFESTYLE.HTML
-rw-rw-r-- 1 ravisaive ravisaive  938895 Oct 10 12:10 NEWS.HTML
-rw-rw-r-- 1 ravisaive ravisaive  938937 Oct 10 12:11 PHOTOS.HTML
-rw-rw-r-- 1 ravisaive ravisaive  978137 Oct 10 12:11 SPORTS.HTML

Kuna iya ganin cewa umarnin da ke sama a zahiri ya canza sunan duk ƙananan fayilolin sunaye (tare da tsawo na .HTML) zuwa babban harka.

Hakazalika, zaku iya canza duk manyan haruffa zuwa ƙananan haruffa ta amfani da umarni mai zuwa.

[email :~$ rename 'y/A-Z/a-z/' *.HTML
[email :~$ ls -l
total 22532
-rw-rw-r-- 1 ravisaive ravisaive 6888896 Oct 10 12:10 cricket.html
-rw-rw-r-- 1 ravisaive ravisaive  588895 Oct 10 12:10 entertainment.html
-rw-rw-r-- 1 ravisaive ravisaive 6188895 Oct 10 12:10 health.html
-rw-rw-r-- 1 ravisaive ravisaive 6538895 Oct 10 12:10 lifestyle.html
-rw-rw-r-- 1 ravisaive ravisaive  938895 Oct 10 12:10 news.html
-rw-rw-r-- 1 ravisaive ravisaive  938937 Oct 10 12:11 photos.html
-rw-rw-r-- 1 ravisaive ravisaive  978137 Oct 10 12:11 sports.html

5. Sanya Haruffa Na Farko na Sunan Fayil

Don girman girman harafin farko na kowane sunan fayil yi amfani da umarni mai zuwa.

# rename 's/\b(\w)/\U$1/g' *.ext

6. Rubuta Fayilolin da suka wanzu

Idan kuna son sake rubuta fayilolin da ke da ƙarfi da ƙarfi, yi amfani da zaɓin “-f” kamar yadda aka nuna a ƙasa.

[email :~$ rename -f 's/a/b/' *.html

Idan kuna son ƙarin sani game da umarnin sake suna, rubuta “man rename” a cikin tasha.

Umurnin sake suna yana da amfani sosai, idan kuna ma'amala da ma'amala da yawa ko batch rename na fayiloli daga layin umarni. Gwada gwada kuma sanar da ni, yaya nisa ke da amfani ta fuskar canza sunan fayiloli.