Linux'ta metin dosyalarını elle düzenlemek sıkıcı olabilir. Bu nedenle, komut satırını kullanarak dosyalardaki metin dizelerini hızlı bir şekilde nasıl değiştireceğinizi bilmek iyidir. Linux'ta yeniyseniz ve nasıl yapacağınızı bilmiyorsanız, size yardımcı olabiliriz! Linux'ta bir dosyadaki bir metin dizesini nasıl değiştireceğinizi gösterdiğimizi izleyin!
![Linux: [Kılavuz] dosyasındaki metin dizesini değiştirin Linux: [Kılavuz] dosyasındaki metin dizesini değiştirin](/resources8/images2m/image-7855-1221165512611.png)
Dosyadaki metin dizesini değiştir – sed
sed aracı, Linux'ta bir dosyadaki bir metin dizesini değiştirmenin en iyi yoludur. Sebep? Kullanımı basit ve işini çok iyi yapıyor. Sed genellikle Linux işletim sistemlerinin %99'unda önceden kuruludur, bu nedenle onu kullanmak için kurmanıza gerek yoktur.
Bir dosyadaki bir metin dizesini Sed ile değiştirmek sed -i komutuyla yapılır. İşte nasıl kullanılacağı. İlk olarak, Linux masaüstünde bir terminal penceresi açın. Klavyede Ctrl + Alt + T tuşlarına basarak bir terminal penceresi açabilirsiniz .
Terminal penceresi açılıp kullanıma hazır olduğunda , terminal istemine sed -i yazın. Bu, değiştirme komutunun başlangıcıdır.
sed -i
sed -i komutunu yazdıktan sonra bir ' tırnak işareti ekleyin. Bu tırnak işareti önemlidir, çünkü sed -i ile değiştirilen tüm metinler bu işaretten sonra başlamalıdır.
sed -i'
İlk ' işaretinden sonra s/ yazın . S / kullandığınız değiştirmek istediğiniz mevcut metinden önce doğrudan gider sed .
sed -i 'ler/
Artık s/ terminal komut satırı istemine yazıldığına göre, sed'e dosyada hangi metnin değiştirileceğini söylemenin zamanı geldi. Bu örnekte, "elma" kelimesini değiştireceğiz.
sed -i 'ler/elma
Komuta değiştirmek istediğimiz metin yazıldığında, sonraki adım onun yerini alacak yeni metni yazmaktır. Bu örnekte, "elma" yerine "portakal" koyacağız.
sed -i 'ler/elmalar/portakallar
Değiştirmek istediğimiz metin komuta (portakallar) yazıldığında, komutu g/ ile kapatın . G / söyler sed yeni metinle (portakal) ile tüm metin örneklerini (elma) yerine. Aşağıdaki örnekteki gibi görünmelidir.
Not: (örneğin, elmalarla armutların) her dosyada metni değiştirmek istemiyorsanız eğer, kaldırmak g ve o kadar koşmak zorunda sed -i 's/apples/oranges/'
yerine.
sed -i 's/elma/portakal/g'
Son olarak, sed'e değiştirilmesi gereken metnin hangi dosyada olduğunu söyleyin . Bu örnekte, ana dizindeki meyve.txt hedeftir.
![Linux: [Kılavuz] dosyasındaki metin dizesini değiştirin Linux: [Kılavuz] dosyasındaki metin dizesini değiştirin](/resources8/images2m/image-7855-1221165512611.png)
sed -i 's/elma/portakal/g' ~/fruit.txt
Komutu yürütmek ve dosyadaki metin dizenizi değiştirmek için enter tuşuna basın .
Dosyadaki metin dizesini değiştirin – Perl
Linux'ta bir dosyadaki metin dizesini değiştirmenin başka bir yolu da Perl programlama dilidir. Perl, metin işleme için çok kullanılır, bu nedenle doğal olarak, dosyalardaki metin dizelerini değiştirebilir ve bu kullanım durumu için mükemmeldir.
Başlamak için, Linux PC'nizde Perl'in kurulu olduğundan emin olun. Çoğu Linux işletim sistemi Perl kurulu olarak gelir. Ancak, sahip değilseniz, nasıl çalıştıracağınızla ilgili bilgi için işletim sisteminizin yardım sayfasına bakın.
Bir dosyadaki metin dizelerini değiştirmek için Perl'i kullanmak, terminali gerektirir. Klavyede Ctrl + Alt + T tuşlarına basarak Linux masaüstünde bir terminal açın . Veya uygulama menüsünde “Terminal”i arayın ve bu şekilde başlatın.
Terminal penceresi açılıp kullanıma hazır olduğunda , komut satırı istemine perl -pe yazarak başlayın . Perl -pe komutu bir dosyada bir metin dizesi yerine ne ihtiyaç vardır.
perl -pe
Dışarı yazma üzerine perl -pe terminali istemi içinde, ilk başlamak gerekir ' alıntı işareti. Bu işaret, Perl'e komutta metin değiştirme alanının nerede olduğunu söyler.
perl -pe'
İlk ' tırnak işaretinin ardından, s/ , ardından değiştirmek istediğiniz metin dizesini ve başka bir / ekleyin . Örneğin, meyve.txt dosyasındaki "elmaları" değiştirmek için aşağıdaki metni yazarsınız.
perl -pe 'ler/elmalar/
Değiştirmek istediğiniz kelimeyi/kelimeleri yazdıktan sonra, mevcut metnin yerini alacak kelimeyi ekleyin. Örneğin, "meyve.txt" dosyasındaki "elmaları" "portakallar" ile değiştirmek istiyorsanız, "portakal" ifadesinin arkasına "portakal" ekleyin, perl -pe 's/apples/
böylece perl -pe 's/apples/oranges/
.
perl -pe 's/elmalar/portakallar/
Her iki metin dizisi de komutta olduğunda, Perl'in kullandığı girdi dosyasını belirtmeniz gerekir. Örneğin, “fruit.txt” dosyasındaki metni değiştirmek istiyorsanız, bunu komutta belirtmeniz gerekir.
Not: Bu örnekte, “fruit.txt” dosyası ana dizindedir (~/). Komutun çalışması için “~/fruit.txt” dosyasını metin dosyanızın konumuyla değiştirdiğinizden emin olun.
perl -pe 's/elmalar/portakallar/' ~/fruit.txt
Artık girdi dosyası (Perl ile değiştirdiğiniz dosya) komuta eklendiğine göre, komut aşağıdaki gibi görünmelidir.
![Linux: [Kılavuz] dosyasındaki metin dizesini değiştirin Linux: [Kılavuz] dosyasındaki metin dizesini değiştirin](/resources8/images2m/image-9788-1221165513836.png)
perl -pe 's/apples/portakallar/' ~/fruit.txt > /tmp/output.txt;cat /tmp/output.txt > ~/fruit.txt
Yukarıdaki komut çalıştırıldığında, metin dizesi belirttiğiniz yeni metinle değiştirilecektir. Örneğimizde, "elma" yerine "portakal" koyduk. Değişiklikleri görüntülemek için aşağıdaki komutu girin.
kedi meyvesi.txt