Android

Linux'ta dosya ve dizinleri yeniden adlandırma

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

Что такое Linux, обзор, отличия. Какой Linux выбрать в 2020

İçindekiler:

Anonim

Dosyaları ve dizinleri yeniden adlandırmak, bir Linux sisteminde sıklıkla gerçekleştirmeniz gereken en temel görevlerden biridir.

Tek bir dosyayı yeniden adlandırmak kolaydır, ancak aynı anda birden çok dosyayı yeniden adlandırmak, özellikle Linux'ta yeni olan kullanıcılar için zor olabilir. GUI dosya yöneticisini kullanarak veya komut satırı terminalini kullanarak dosyaları yeniden adlandırabilirsiniz.

Bu öğreticide, dosyaları ve dizinleri yeniden rename için mv ve rename komutlarını nasıl kullanacağınızı göstereceğiz.

MV Komutu ile dosyaları yeniden adlandırma

mv komutu (taşımadan kısa) dosyaları bir konumdan diğerine yeniden adlandırmak veya taşımak için kullanılır. mv komutunun sözdizimi aşağıdaki gibidir:

mv source destination

source bir veya daha fazla dosya veya dizin olabilir ve destination tek bir dosya veya dizin olabilir.

  • source olarak birden fazla dosya belirtirseniz, destination bir dizin olmalıdır. Bu durumda, source dosyalar hedef dizine taşınır. source olarak tek bir dosya belirtirseniz ve destination hedef varolan bir dizindirse, dosya belirtilen dizine taşınır. Bir dosyayı yeniden adlandırmak için source olarak tek dosya ve destination hedef olarak tek dosya.

Örneğin, file1.txt dosyasını file1.txt olarak yeniden adlandırmak için şunu çalıştırırsınız:

mv file1.txt file2.txt

MV Komutu ile birden fazla dosyayı yeniden adlandırma

mv komutu bir kerede yalnızca bir dosyayı yeniden adlandırabilir, ancak birden çok dosyayı yeniden adlandırmak için find veya inside bash için veya while döngüleri gibi diğer komutlarla birlikte kullanılabilir.

Aşağıdaki örnek, .html uzantısını .php değiştirerek geçerli dizindeki tüm .html dosyalarını yeniden adlandırmak için Bash for loop'un nasıl kullanılacağını gösterir.

for f in *.html; do mv -- "$f" "${f%.html}.php" done

Kodu satır satır analiz edelim:

  • İlk satır bir for döngüsü oluşturur ve .html ile kenarlanan tüm dosyaların listesi üzerinden yinelenir. İkinci satır listenin her öğesine uygulanır ve dosyayı .php yerine .html yerine yeni bir satır taşır. ${file%.html} bölümü, .html bölümünü dosya .html kaldırmak için shell parametre genişletmesini kullanıyor. Yapılan işlem döngü parçasının sonunu gösterir.

Ayrıca mv komutunu yukarıdaki ile aynı mv elde etmek için find ile birlikte kullanabiliriz.

find. -depth -name "*.html" -exec sh -c 'f="{}"; mv -- "$f" "${f%.html}.php"' ;

mv komutu, -exec anahtarını kullanarak geçerli dizinde .html ile biten tüm dosyaları mv komutuna tek tek -exec . {} Dizesi, şu anda işlenmekte olan dosyanın adıdır.

Yukarıdaki örneklerden de görebileceğiniz gibi, mv komutunu kullanarak birden fazla dosyayı yeniden adlandırmak iyi bir Bash komut dosyası bilgisi gerektirdiği için kolay bir iş değildir.

Dosyaları yeniden adlandır Komutuyla yeniden adlandırma

rename komutu birden fazla dosyayı yeniden adlandırmak için kullanılır. Bu komut mv daha ileri düzeydedir, çünkü düzenli ifadelerin bazı temel bilgilerini gerektirir.

rename komutunun farklı sözdizimine sahip iki sürümü vardır. Bu öğreticide, rename komutunun perl sürümünü kullanacağız. Sisteminizde bu sürüm yüklü değilse, dağıtımınızın paket yöneticisini kullanarak kolayca yükleyebilirsiniz.

  • Ubuntu ve Debian'a yeniden adlandırma yükle

    sudo apt install rename

    CentOS ve Fedora'ya yeniden adlandırma yükleyin

    sudo yum install prename

    Arch Linux'a yeniden adlandırma yükleyin

    yay perl-rename ## or yaourt -S perl-rename

rename komutunun sözdizimi aşağıdaki gibidir:

rename perlexpr files

rename komutu, tüm files belirtilen perlexpr normal ifadesine göre yeniden adlandırır. Burada düzenli ifadeler hakkında yapabilirsiniz.

Örneğin, aşağıdaki komut .html uzantılı tüm dosyaları .php :

rename 's/.html/.php/' *.html

Yeniden adlandırılacak dosyaların adlarını yeniden adlandırmadan yazdırmak için -n bağımsız değişkenini kullanabilirsiniz.

rename -n 's/.html/.php/' *.html

Çıktı şöyle görünecektir:

rename(file-90.html, file-90.php) rename(file-91.html, file-91.php) rename(file-92.html, file-92.php) rename(file-93.html, file-93.php) rename(file-94.html, file-94.php)

Varsayılan olarak, rename komutu mevcut dosyaların üzerine yazılmaz. Varolan dosyaların üzerine yazılmasına izin vermek için -f bağımsız değişkenini -f .

rename -f 's/.html/.php/' *.html

Aşağıda, rename komutunun nasıl kullanılacağına ilişkin birkaç yaygın örnek verilmiştir:

  • Dosya adlarındaki boşlukları alt çizgi ile değiştirme

    rename 'y/ /_/' *

    Dosya adlarını küçük harfe dönüştür

    rename 'y/AZ/az/' *

    Dosya adlarını büyük harfe dönüştür

    rename 'y/az/AZ/' *

Sonuç

Şimdiye kadar, dosyaları yeniden rename için mv ve rename komutlarını nasıl kullanacağınızı iyi anlamanız gerekir. Elbette, Linux'ta mmv gibi dosyaları yeniden adlandırmak için başka komutlar da vardır. Komut satırı tarafından korkutulan yeni Linux kullanıcıları Métamorphose gibi GUI toplu yeniden adlandırma araçlarını kullanabilir.

mv terminalini yeniden adlandır