Android

Linux'ta tr komutu örnekleri ile

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

tr , Linux ve Unix sistemlerinde karakterleri standart girdiden çeviren, silen ve sıkan ve sonucu standart çıktıya yazan bir komut satırı yardımcı programıdır.

tr komutu, tekrarlanan karakterleri kaldırma, büyük harfleri küçük harfe dönüştürme ve temel karakter değiştirme ve kaldırma gibi işlemleri gerçekleştirebilir. Tipik olarak, borulama yoluyla diğer komutlarla birlikte kullanılır.

Bu eğitimde, tr komutunu pratik örnekler ve en yaygın seçeneklerin ayrıntılı açıklamaları yoluyla nasıl kullanacağınızı göstereceğiz.

tr Komutunun Kullanımı

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

tr OPTION… SET1

tr , genellikle aynı uzunlukta olan iki karakter kümesini kabul eder ve ilk kümelerin karakterlerini ikinci kümedeki karşılık gelen karakterlerle değiştirir.

SET , temel olarak ters eğik çizgiden kaçan karakterler de dahil olmak üzere temelde bir karakter dizesidir.

Aşağıdaki örnekte, tr , ilk kümedeki karakterleri ikinci kümedeki eşleşenlerle eşleştirerek standart girişteki (linuxize) tüm karakterlerin yerini alacaktır.

echo 'linuxize' | tr 'lin' 'red'

Her l oluşumu, r , i ile e ve n , d :

reduxeze

Karakter kümeleri karakter aralıkları kullanılarak da tanımlanabilir. Örneğin, yazmak yerine:

echo 'linuxize' | tr 'lmno' 'wxyz'

kullanabilirsiniz:

echo 'linuxize' | tr 'ln' 'w-z'

-c ( --complement ) seçeneği kullanıldığında, tr SET1 içinde olmayan tüm karakterlerin yerine geçer.

Aşağıdaki örnekte “li” dışındaki tüm karakterler ikinci kümedeki son karakterle değiştirilecektir:

echo 'linuxize' | tr -c 'li' 'xy'

liyyyiyyy

Fark etmiş olabileceğiniz gibi, yukarıdaki çıktı girişten bir tane daha görünür karaktere sahiptir. Bunun nedeni echo komutunun y ile değiştirilen görünmez bir yeni satır karakteri y . Bir dizeyi yeni bir çizgi olmadan yankılamak için -n seçeneğini kullanın.

-d ( --delete ) seçeneği --delete belirtilen karakterleri silmesini söyler. Karakterleri sıkmadan silerken, yalnızca bir set belirtin.

Aşağıdaki komut l , i ve z karakterlerini kaldıracaktır:

echo 'Linuxize' | tr -d 'liz'

SET'teki l karakteri küçük harfken giriş büyük harf L içerdiğinden L karakteri silinmez.

Lnuxe

-s ( --squeeze-repeats ) seçeneği, yinelenen olayların sırasını son --squeeze-repeats karakter kümesiyle değiştirir.

Aşağıdaki örnekte, tr yinelenen boşluk karakterlerini kaldırır:

echo "GNU \ Linux" | tr -s ' '

GNU \ Linux

SET2 kullanıldığında, SET1'de belirtilen karakterin sırası SET2 ile değiştirilir.

echo "GNU \ Linux" | tr -s ' ' '_'

GNU_\_Linux

-t ( --truncate-set1 ) seçeneği, başka işlemler yapmadan önce --truncate-set1 zorlar.

Varsayılan olarak, SET1 SET2'den büyükse tr SET2'nin son karakterini yeniden kullanır. İşte bir örnek:

echo 'Linux ize' | tr 'abcde' '12'

Çıktı, SET1'den gelen e karakterinin SET2'nin en son karakteri olan 2 ile eşleştiğini gösterir:

Linux iz2

Şimdi, -t seçeneğiyle aynı komutu kullanın:

echo 'Linux ize' | tr -t 'abcde' '12'

Linux ize

SET1'in son üç karakterinin kaldırıldığını görebilirsiniz. SET1, SET2 ile aynı uzunlukta olan 'ab' olur ve değiştirme yapılmaz.

Seçenekleri birleştirme

tr komutu, seçeneklerini birleştirmenize de olanak tanır. Örneğin, aşağıdaki komut önce i dışındaki tüm karakterleri 0 ve ardından tekrarlanan 0 karakterleri sıkar:

echo 'Linux ize' | tr -cs 'i' '0'

0i0i0

Tr Komut Örnekleri

Bu bölümde, tr komutunun yaygın kullanımlarına ilişkin birkaç örneği ele alacağız.

Küçük harfleri büyük harfe dönüştür

Küçük harfleri büyük harfe veya tersine çevirmek, tr komutunun tipik kullanım durumlarından biridir. tüm küçük harfler ile eşleşir ve tüm büyük harflerle eşleşir.

echo 'Linuxize' | tr '' ''

LINUXIZE

Karakter sınıfları yerine, aralıkları da kullanabilirsiniz:

echo 'Linuxize' | tr 'az' 'A-Z'

Büyük harfleri küçük harflere dönüştürmek için setlerin yerlerini değiştirin.

Sayısal olmayan tüm karakterleri kaldır

Aşağıdaki komut, sayısal olmayan tüm karakterleri kaldırır:

echo "my phone is 123-456-7890" | tr -cd

tüm rakam karakterlerini temsil eder ve -c seçeneğini kullanarak komut tüm rakam olmayan karakterleri kaldırır. Çıktı şöyle görünecektir:

1234567890

Her kelimeyi yeni bir satıra koy

Her kelimeyi yeni bir satıra koymak için alfasayısal olmayan tüm karakterleri eşleştirmeli ve yeni bir satırla değiştirmeliyiz:

echo 'GNU is an operating system' | tr -cs '' '\n'

GNU is an operating system

Boş satırları kaldır

Boş satırları silmek için tekrarlayan yeni satır karakterlerini sıkmanız yeterlidir:

tr -s '\n' < file.txt > new_file.txt

Yukarıdaki komutta, file.txt içeriğini tr komutuna iletmek için < yönlendirme sembolünü kullanıyoruz. Yönlendirme > komutun çıktısını new_file.txt .

$PATH dizinlerini ayrı bir satıra yazdırın

$PATH ortam değişkeni, bir komut yazdığınızda hangi dizinlere yürütülebilir dosyaları aramasını söyleyen iki nokta üst üste işaretli dizinler listesidir.

Her dizini ayrı bir satıra yazdırmak için iki nokta üst üste (:) ile eşleşmeli ve yeni satırla değiştirmeliyiz:

echo $PATH | tr ':' '\n'

/usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin

Sonuç

tr , karakterleri çevirmek veya silmek için kullanılan bir komuttur.

Çok yararlı olsa da, tr yalnızca tek karakterlerle çalışabilir. Daha karmaşık desen eşleşmesi ve dize manipülasyonu için sed veya awk kullanmalısınız.

tr terminali