Linux Komutları

Linux tr Komutu

Linux tr Komutu
Linux'ta "tr", "standart girdiden karakterleri çevirebilen, sıkıştırabilen ve/veya silebilen, standart çıktıya yazan" (man sayfasından) yerleşik bir araçtır.

Resmi açıklamadan, bu aracın değerini anlamak kolaydır. Linux, büyük bir yerleşik araç koleksiyonuyla geliyor. Metin işleme için süper yararlı olan bazı özel olanlar var. Vim, Nano, awk, sed ve diğer araçlar gibi birkaçını zaten ele aldık.

Düzenli olarak metinlerle çalışanlar için “tr” kesinlikle gerçekten çok faydalı olacak. Bu makale, yeterli örneklerle “tr” nin en yaygın kullanımını gösterecektir.

Not: Öğretici, rastgele içeriğe sahip bir ton sahte dosya kullanacak. Tüm rastgele dizeler tarafından oluşturulur rastgele.kuruluş.

yer

hangi tr

Bu, "tr" komut aracının tam yoludur.

Temel kullanım

“tr” aracını kullanmak için aşağıdaki komut yapısını kullanmanız gerekmektedir.

tr [SET1] [SET2]

“tr” kullanarak metinleri değiştirmenin farklı seçenekleri ve yolları vardır. İlk önce, bu demo dosyasını kontrol edelim.

kedi demosu.Txt

Tüm karakterler küçük harf, sağ? Onları büyük harfe çevirelim!

kedi demosu.metin | tr [:alt:] [:üst:]

Burada, “tr”nin ilk parametresi, girişin tüm küçük harf karakterleri üzerinde bir çeviri gerçekleştirmeyi belirtir. İkinci kısım, çıktıda onları büyük harfe dönüştürmeyi söylüyor.

şimdi tersini yapalım.

kedi demo1.Txt

kedi demo1.metin | tr [:üst:] [:alt:]

Bu aynı görevi gerçekleştirmenin başka bir yolu daha var. Hadi kontrol edelim.

kedi demosu.metin | tr [a-z] [A-Z]

Şimdi, "tr"ye büyük harften küçük harfe veya küçük harften büyük harfe çevirmesini söylemek yerine, "a" ile "z" aralığıyla eşleşen girdileri tanımlamamızı ve "A" ile "Z" aralığında eşdeğerlerine çevirmemizi söyledik.

Bu benzer yöntem, büyük harften küçük harfe çevirmek için de kullanılabilir.

kedi demo1.metin | tr [A-Z] [a-z]

sayılarla oynamak

Büyük harfin küçük harfe nasıl çevrildiğini gördük, değil mi?? Rakamlarla oynamanın zamanı geldi.

Aşağıdaki komutu kullanarak, tüm rakamları (0-9) eşdeğer karakterlerine kolayca çevirebiliriz!

kedi demo_digit.Txt

kedi demo_digit.metin | tr [0-9] [a-z]

harika! büyük harfli olanlar nasıl?

kedi demo_digit.metin | tr [0-9] [A-Z]

Basit ama ilginç, doğru? Ayrıca karakterleri rakamlara da dönüştürebiliriz!

kedi demo_küçük harf.Txt

kedi demo_küçük harf.metin | tr [a-z] [0-9]

Uh oh, işler bozuldu gibi görünüyor, değil mi?? Tek haneleri temsil etmek için sadece 'a' ile 'j' arasını kullanabiliriz. Bu sınırın dışında kalan herhangi bir karakter varsa, “tr” karakteri ']' ile değiştirecektir.

Karakterleri silme

Resmi açıklamanın önerdiği gibi, "tr" karakterlerin çevirisinden daha fazlasını yapabilir. Aşağıdaki örnekte, belirli karakterleri silmek için “tr”nin nasıl kullanılacağını kontrol edeceğiz.

kedi rastgele.Txt

Şimdi tüm sayıları içerikten silelim.

kedi rastgele.metin | tr -d [0-9]

Burada, “-d” bayrağı “tr”nin silinmesini ve [0-9] rakamların silinmesini belirtmek içindir.

Bunu karakterlerle de yapabiliriz. Aşağıdaki komut tüm sayıları tutacak ancak tüm karakterleri kaldıracaktır.

kedi rastgele.metin | tr -d [a-z]

Dosyadan yalnızca belirli bir karakteri kaldırmaya ne dersiniz??

kedi demo_küçük harf.Txt

kedi demo_küçük harf.metin | tr -d 'y'

Dosyadaki tüm 'y' girişlerini sildi.

Tekrarlanan karakterleri sıkıştırma

Bir karakterin sırayla tekrarlandığı zamanlar vardır. Böyle can sıkıcı sorunlarla uğraşıyorsanız, bırakın “tr” halletsin! Aşağıdaki komutu kullanarak bu tür oluşumları sıkıştırabilirsiniz. Esasen karakterin ilk oluşumunu korur ve ek olanları siler.

İlk olarak, demo dosyasının nasıl göründüğünü kontrol etme zamanı.

kedi kopyası.Txt

Şimdi içeriği “tr” ye aktarın.

kedi kopyası.metin | tr -s [:rakamlar:]

Burada “-s” parametresi “sıkma” eyleminin gerçekleştirilmesinin göstergesidir.

Cümleleri bölme/birleştirme

Demo dosyasını kontrol edelim.

yarasa kopyası.Txt

Kelimeleri bölen boşluklu bir cümle içeriyor, sağ? Kelimeleri yeni satırlara ayıralım.

kedi kopyası.metin | tr " " "\n"

Bu komut, tüm boşluk karakterlerini yeni satır karakterleriyle değiştirdi.

Parçalanmış cümleyi tekrar uzun bir cümlede birleştirelim.

yarasa kopyası.Txt

kedi kopyası.metin | tr "\n" " "

Karakterleri çevirme

Tıpkı daha önce karakterleri çevirdiğimiz gibi, bu sefer de aynısını yapacağız ama sadece tek bir karakterle.

kedi demosu.Txt

Bu dosyada, tüm yeni satır karakterlerini noktalı virgülle değiştirelim.

kedi demosu.metin | tr "\n" ";"

"echo" etrafına sarmak zorunda kaldım. Aksi takdirde, son satırsonu karakteri de noktalı virgüle çevrileceğinden bir miktar çıktı yaratacaktır.

Karakterleri değiştirmenin farklı bir yolu var. Ancak, bunu kontrol etmek daha zordur.

kedi çifti1.Txt

kedi çifti1.metin | tr -c 'd' 'z'

kedi çifti1.metin | tr -c 'd' 'z'

vay! Çıktıyı daha iyi anlamak için "echo" etrafına saralım.

echo $(kedi kopya1.metin | tr -c 'd' 'z')

Burada ne oldu? “-c” bayrağını kullanarak “tr” yalnızca hedef karakteri değiştirmeden tutacaktır. Uyumsuzluk durumunda, diğer tüm karakterler dönüştürülecektir. Burada 'b' dışındaki herhangi bir karakter 'z' ile değiştirildi.

Dizeleri çevirme

"tr" dizelerle de çalışabilir. Dize değiştirme işlemini gerçekleştirelim.

kedi çifti1.Txt

kedi çifti1.metin | tr "yinelenen" "not_duplicate"

Değiştirilecek dizem, değiştirilecek dizeden daha kısa, bu yüzden sığmadı.

Karakter kümeleri

Şimdiye kadar, “tr” tarafından desteklenen bir dizi karakter seti olduğunu fark ettiniz. Yukarıdaki örneklerde bir kısmı kullanılmış olsa da, diğer karakter kümeleri de oldukça faydalıdır. İşte desteklenen tüm karakter listelerinin bir listesi.

POSIX karakter kümeleri

  • [:digit:] : 0-9 arasındaki rakamlar
  • [:alpha:] : Alfabeler a-z ve A-Z.
  • [:alnum:] : Alfasayısal karakterler
  • [:punkt:] : Noktalama işaretleri
  • [:space:] : Herhangi bir boşluk karakteri, örneğin boşluk, sekme, FF, CR, NL, FF, vb.
  • [:upper:] : Tüm büyük harfler
  • [:lower:] : Tüm küçük harfler
  • [:cntrl:] : Tüm kontrol karakterleri (NL, CR, EXT, STX, ACK, SO, DC1, DC2, NAK, ETB, ESC, IS1, IS2, DEL vb.).)

Ek karakter kümeleri

  • [A-Z] : Tüm büyük harfler
  • [a-z] : Tüm küçük harfler
  • [0-9] : Tüm rakamlar

Son düşünceler

“tr”nin tüm bu özelliklerinin kullanıcılara fayda sağlamasının tonlarca yolu vardır. Daha değerli bilgiler sunabilecekleri için her zaman herhangi bir Linux aracıyla ilgili tüm mevcut seçenekleri ve ayrıntılı kılavuzları adam, bilgi ve yardım sayfalarından kontrol etmenizi öneririm.

tr -- yardım

adam tr

bilgi tr

Zevk almak!

Linux'ta Oyun Nasıl Geliştirilir
On yıl önce, pek çok Linux kullanıcısı en sevdikleri işletim sisteminin bir gün ticari video oyunları için popüler bir oyun platformu olacağını tahmin...
Open Source Ports of Commercial Game Engines
Free, open source and cross-platform game engine recreations can be used to play old as well as some of the fairly recent game titles. This article wi...
Linux için En İyi Komut Satırı Oyunları
Komut satırı, Linux kullanırken yalnızca en büyük müttefikiniz değil, aynı zamanda eğlence kaynağı da olabilir, çünkü onu özel bir grafik kartı gerekt...