Kullanıcı Kılavuzu: Linux'ta Command yeniden adlandırmayı kullanın

Hiç yeniden adlandır komutunu kullanmayı denediniz mi? Linux ? Linux dünyasının güç merkezini yeniden adlandırmakla uğraşmak ve mv - ve kendinize dinlenmek mi istiyorsunuz? Yeniden adlandırma hızlı, esnek ve oldukça kolaydır. İşte bu güçlü komut merkezi hakkında ayrıntılı bir kılavuz.





MV İle Ne Yanlış Gidiyor?

mv İle yanlış giden bir şey yok . Bununla birlikte, komut iyi bir iş çıkarıyor. Ayrıca, tüm Linux dağıtımlarında, macOS'ta ve diğer Unix benzeri işletim sistemlerinde bulabilirsiniz. Ancak her zaman mevcuttur. Ama kesinlikle, bir kürek istemiyorsunuz, ancak bir buldozere ihtiyacınız var.



mv Komutu hayatta bir amacı vardır ve bu da dosyaları taşımaktır. Daha eski bir dosyayı taşımak için kullanılabilmesi güvenli bir yan etkidir içine yeni dosya, yeni bir adla. Etkisi, dosyayı yeniden adlandırmaktır, böylece istediğinizi elde edersiniz. Fakat mv bir dosya yeniden adlandırma aracı değildir.

Mv ile Tek Bir Dosyayı Yeniden Adlandırma

Linux'ta dosyaları yeniden adlandırın



mv Kullanmak istiyorsanız bir dosyayı yeniden adlandırmak için mv, boşluk, dosya adı, alan ve dosyanın sahip olmasını istediğiniz yeni ad. Ardından Enter'a basın.



Ayrıca ls dosyanın yeniden adlandırılıp adlandırılmadığını kontrol etmek için

mv rename

Mv ile Birden Çok Dosyayı Yeniden Adlandırma

Birden çok dosyayı yeniden adlandırdıktan sonra işler karmaşıklaşır. perl-rename çeşitli dosyaların yeniden adlandırılmasıyla başa çıkma yeteneği yoktur. Bazı yararlı Bash hilelerine başvurmalısınız. Orta dereceli bir komut satırı fu biliyorsanız, iyidir, ancak farklı dosyaları yeniden adlandırmanın zorluğu mv sadece kullanım kolaylığına dayanır mv tek bir dosyayı yeniden adlandırmak için.



İşler anında tırmanır.



Diyelim ki, burada farklı türlerde çok sayıda dosya içeren bir dizin var. Bazı dosyalarda bir .prog uzantı. Bu dosyaları komut satırında yeniden adlandırmak istiyoruz, böylece .prg uzantı.

Gelin dosyalara bir göz atalım.

rename

İşte bunu yapmak için gerçek bir Bash komut dosyası yazmaya başvurulamayan bir yöntem.

rename

İşe yaradı mı, yaramadı mı? Dosyaları kontrol edip devam edelim.

rename

Yani iyi çalışıyor. Onların hepsi .prg dosyalar şimdi ve yok .prog dizindeki dosyalar.

Ne oldu?

Uzun komut aslında ne yaptı? Hadi kontrol edelim.

prename

İlk bölüm, her birini işleyecek bir döngü başlatır. .prog sırayla dizindeki dosya.

Başka bir bölüm, işlemenin ne olacağını söylüyor yapmak . Kullanır mv her dosyayı yeni bir dosyaya taşımak için. Yeni dosya adı, .prog kısmı dışında orijinal dosyanın adına oldukça benzer olacaktır. Ayrıca .prg uzantısı kullanılacaktır.

İşte Kolay Bir Yol

Kesinlikle. Burada Adını değiştirmek komut.

Linux'ta dosyaları yeniden adlandırın

Standart Linux dağıtımının bir parçası değildir, bu yüzden onu kurmak istersiniz. Ayrıca, çeşitli Linux ailelerinde farklı bir adı vardır, ancak hepsi benzer şekilde çalışır. Doğru komut adını, kullandığınız Linux'un zevkine göre değiştirmeniz yeterlidir.

Debian'dan türetilmiş veya Ubuntu dağıtımlarında perl-rename böyle:

*.prog

RedHat kaynaklı dağıtımlarda veya Fedora'da yalnızca ilk isim böyle. Baştaki p'nin Perl anlamına geldiğini unutmayın.

rename

Manjaro Linux'a kurmak için aşağıdaki komutu kullanın. Yeniden adlandırma komutunun s olarak bilindiğini unutmayın.

.prog

Yeniden adlandır komutunu kullanın -> Gelin, Bir Deney Daha Yapalım

Burada rename kullanacağız. Bunu bir dizi .prog dosyamız olacak şekilde yapıyoruz.

.prg

Gelin, onları yeniden adlandırmak için aşağıda verilen komutu kullanalım. Ayrıca kontrol edeceğiz ls çalışıp çalışmadığına dair komut verin. Değiştirmek istiyorsanız rename Ubuntu veya Debian'dan türetilmiş bir Linux kullanamıyorsanız Linux için doğru komut adı ile.

ls ls

İyi çalışıyor, artık hepsi hariç .prg dosyaları .prog dizinde kalan dosyalar.

Burada ne oldu?

Üç bölümde tartışalım.

İçinde ilk bölüm, komut adını görüntülersiniz, rename (veya diğer dağıtımlar için ls veya ls).

Üçüncü son bölüm ^, bu da $ tüm .prog dosyalarında çalışmak için.

ikinci bölümü, her dosya adı üzerinde yapılmasını sevdiğimiz işi açıklar. ^ ikame anlamına gelir. 1. terim (ls) nedir ls her dosya adında arayacak ve 2. terim (ls) ile değiştirilecek.

starzplay com xbox 360'ı etkinleştir

Komutlar orta kısım veya merkezi ifade bir Perl 'düzenli ifade' dir ve s/ güvenilirliğini yönetir.

Dosya Adının Diğer Bölümlerini Değiştirme

Şimdiye kadar dosya adı uzantılarını değiştirdik, dosya adlarının diğer kısımlarını değiştirelim.

Dizinde birçok C kaynak kodu dosyası vardır. Tüm dosya adlarının önünde argo_. Bunu y/ ile de kontrol edebiliriz.

a-z

Burada slang_'nin tüm oluşumlarını sl_ ile değiştiriyoruz. Komut formatı bize oldukça tanıdık geliyor. Sadece arama terimini, yerine geçen terimi ve dosya türünü değiştiriyoruz.

A-Z

Burada .c dosyalarını arıyoruz ve slang_ arıyoruz. Bir dosya adında slang_ bulduğunuzda, sl_ ile değiştirilir.

ls Komutunu tekrarladıktan sonra da komut sonucunu kontrol edebilirsiniz. aynı parametreleri kullanarak yukarıdan:

a-z

Dosya Adının Bir Parçasını Kaldırma

Arama terimini hiçbir şeyle değiştirdikten sonra bir dosya adının bir kısmını da silebiliriz.

mv oldfile.txt newfile.txt

Ayrıca şuradan da görüntüleyebiliriz: ls emretmek bizim .c dosyaların hepsinin başına sl_ eklenmiştir. Bunu tamamen bırakalım.

Adını değiştirmek komut, yukarıda belirtilenle aynı biçimi izler. .C dosyalarını arayacağız. Arama terimi sl_'dir, ancak ikame terimi yoktur. Aralarında hiçbir şey olmayan iki ters eğik çizgi '//' boş bir dize anlamına gelir.

ls *.txt
her .c dosyasını sırayla işleyebilir. Ayrıca dosya adında sl_ arar. Bulduysanız, hiçbir şeyle değiştirilemezsiniz. Alternatif olarak, arama terimi kaldırılır.

ls *.prog -l
Öğesinin başka bir kullanımı komutu, sl_ önekinin her .c dosyasından silindiğini doğrular.

Dosya Adlarının Belirli Bölümleriyle Değişiklikleri Sınırla

Hadi kullanalım

for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
dosya adlarında dize parametresi olan dosyaları görüntülemek için. O zaman kullanacağız Adını değiştirmek dizeyi string parametresi aracılığıyla değiştirme komutu. Ayrıca kullanıyoruz ls etkisini görmek için bir kez daha Adını değiştirmek komutu bu dosyalara sahipti.

ls *.pr*
for f in *.prog; do mv -- '$f' '${f%.prog}.prg'
sudo apt-get install rename

Daha sonra, şu özelliklere sahip dört dosya göreceksiniz: Dur dosya adlarında. param.c, param_one.c ve param_two.c'nin tümünde Dur -de başlangıç onların adı. third_param.c, Dur -de son uzantının hemen önünde.

Arayabilirsin Adını değiştirmek dosya adının her yerinde param için komut. Daha sonra her durumda parametresiyle değiştirebilirsiniz.

Başka bir kullanım ls komutu bize tam olarak ne olduğunu gösteriyor. Olsun Dur dosya adının başında veya sonundaydı. Ayrıca bir parametre.

Merkezi ifadenin davranışını saflaştırmak için Perl’in meta karakterlerini kullanabiliriz. Metakarakterler, karakterlerin sıralarını veya konumlarını temsil eden işaretlerdir. Örneğin

sudo dnf install prename
bir dizenin başlangıcı anlamına gelir, (.) herhangi bir tek karakter anlamına gelir (yeni satır karakterinin yanı sıra),
sudo pacman -Syu perl-rename
bir dizenin sonu anlamına gelir.

Ayrıca, aramamızı dosya adlarının başlangıcıyla sınırlandırmak için dize meta karakterinin başlangıcını (

ls *.prog
) kullanırız.

rename 's/.prog/.prg/' *.prog
ls *.pr*
ls sl*.c
rename 's/slang_/sl_' *.c

Yeniden adlandırdığımız dosyalar önceden listelenmiştir. Ayrıca, string parametresinin 3 dosya adının başında olduğunu ve dosya adlarından birinin sonunda yer aldığını görebiliriz.

bizim Adını değiştirmek komutu, arama terimi parametresinden önceki satır metakarakterinin (^) başlangıcını kullanır. Dosya adının başında olup olmadığını bulmak için sadece arama terimini dikkate almayı açıklar. Dosya adında başka herhangi bir yerdeyse, arama dizesi parametresinden kaçınılacaktır.

ls sl*.c
İle baktığımızda, dosya adının parametresine sahip olduğunu görebiliriz. son dosya adı değiştirilmedi. Ancak, parametresine sahip üç dosya adı başlangıç arama dizesinin yerine geçen terim değeri ile değiştirilmiş adlarının listesi.

Adını değiştirmek güç Perl'in gücünde yatıyor.

Gruplandırmalarla Bakmak

Adlarında aynı dizelere sahip dosyalarınız olması muhtemeldir. Tam olarak aynı dizelere benzemezler, bu yüzden sadece ararsınız ve ikame burada işe yaramaz.

Bu örnekte

ls *.c rename 's/sl_//' *.c ls *.c
str ile başlayan hangi dosyalara sahip olduğumuzu görmek için. Ayrıca iki tane var, string.c ve strangle.c. Gruplama olarak bilinen bir yöntemi kullandıktan sonra her iki dizeyi de yeniden adlandırabiliriz.

Orta ifadesi Adını değiştirmek komut, karakter dizisine sahip dosya adları içindeki dizeleri arayacaktır. çizgili veya stra. Burada bu dizileri ng takip etmektedir. Alternatif olarak, arama terimimiz dizeyi arayacaktır. ve strang. İkame terimi bang.

ls *param*
rename 's/param/parameter' *.c
ls *param*

ls *param*.c
Kullandıktan sonra başka bir zaman string.c'nin bir bang.c'ye dönüştüğünü ve strangle.c'nin artık bangle.c olduğunu doğrular.

Komutu Çevirilerle yeniden adlandırmayı kullanın

Adını değiştirmek komut, çeviriler olarak bilinen dosya adları üzerindeki tüm eylemleri gerçekleştirir. Aşağıda, bir dizi dosya adını büyük harfe zorlayan bir çeviri örneği verilmiştir.

İçinde Adını değiştirmek aşağıda verilen komut,

rename 's/^parameter/value/' *.c
kullanmadığımıza dikkat edin. ortadaki ifadeye başlamak için
ls *param*.c
kullanıyoruz. Komutun bir değişiklik yapamayacağını açıklar; bir çeviri yapıyoruz.

ls value*.c
bir Perl ifadesidir. Bu, dizideki tüm küçük harfli karakterlerin a'dan z'ye olduğu anlamına gelir. Ancak
ls str*.c
A'dan Z'ye dizideki tüm büyük harfleri temsil eder.

Bu komuttaki ortadaki ifade, dosya adında a'dan z'ye küçük harflerden herhangi biri bulunuyormuş gibi başka kelimelerle ifade edilebilir. A'dan Z'ye büyük harfli karakterler sırasına göre karşılık gelen karakterleri kullanarak bunları değiştirir.

Tüm .prg dosyalarının dosya adlarını büyük harfe zorlamak istiyorsanız, şu komutu kullanın:

'y / a-z / A-Z /' * .prg olarak yeniden adlandırın

rename 's/(stri|stra)ng/bang/' *.c

ls ban*.c
Komutu bize göster .prg uzantı dosyaları artık büyük harflidir. Ayrıca, kesinlikle doğru olmak gerekirse, .prg artık dosyalar. Bunlar .PRG dosyaları. Linux'un büyük / küçük harfe duyarlı olduğundan emin olun.

ls *.PRG
Konumuna geri döndükten sonra da bu son komutu tersine çevirebiliriz. ve ortadaki ifadede A-Z terimleri.

yeniden adlandır 'y / A-Z / a-z /' * .PRG

ls * .prg

Beş Dakikada Perl Öğrenemezsiniz

Perl ile kavramak, iyi harcanan zamandır. Ancak, zaman kazandıran yeteneklerini kullanmaya başlamak için Adını değiştirmek komutla, güçte büyük avantajlar elde etmek için çok fazla Perl bilgisine sahip olmayı düşünmüyorsunuz.

Sonuç:

'Command On Linux'ta yeniden adlandırmayı kullanın' ile ilgili her şey burada. Bununla ilgili görüşleriniz nelerdir? Makaleyle ilgili başka bir yöntem veya ipucu paylaşmak isterseniz, aşağıdan bize bildirin. Daha fazla soru ve soru için aşağıdaki yorum bölümünde bize bildirin!

Ayrıca Oku: