Tamam, @Prvt_Yadv sayesinde noktaları anlayabildim. İşte ilk soru cevabı:
İkinci tr
komutun ardındaki sihir nedir ?
13 nokta, ikinci setten ilk 13 harfe eşleştiriliyor. Yani
tr .............A-Z A-ZA-Z
Aşağıdaki setleri üretecektir:
SET1 -> .............ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ
Girişinizde nokta yoksa, bu ikameyi kullanmayacağınız için başlangıç sırasını atabilirsiniz. Sonra setler şöyle olur:
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> NOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ
Ancak ilk set zaten 26 harfin tümünü içerdiğinden ve set2 tekrarlayan harflere sahip olduğundan, bunlar da atılır ve sonunda olur
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> NOPQRSTUVXWYZABCDEFGHIJKLM
Hangi rot13 ikamesi ve ilk komuta aynı (burada küçük vakalarla uğraşmamak dışında). Aynı mantık sorunun başlığı için de uygulanabilir:
tr ...A-Z A-ZA-Z <<< “JVPQBOV”
setleri üretecekti:
SET1 -> ...ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZ
İlk sırayı ve sondaki tekrar eden harfleri atarak:
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZ
SET2 -> DEFGHIJKLMNOPQRSTUVXWYZABC
Hangi rot3 ikamesi.
Şimdi ikinci soru için:
İkinci komut, tıpkı ilk komut gibi, hem küçük hem de büyük harf için nasıl çalışır?
Bunu yapmak için, başlangıçta çürük ve 26 noktanızı üst sıra ile alt sıra arasında eşleştirerek istediğiniz sayıda nokta koyabilirsiniz:
tr ........A-Z..........................a-z A-ZA-Za-za-z
Bu başarıyla duyarsız bir çürük oluşturur8. Bunun neden işe yaradığını görselleştirmek için setleri görelim:
SET1 -> ........ABCDEFGHIJKLMNOPQRSTUVXWYZ..........................abcdefghijklmnopqrstuvxwyz
SET2 -> ABCDEFGHIJKLMNOPQRSTUVXWYZABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyzabcdefghijklmnopqrstuvxwyz
Nokta eşleme ve sondaki harfler hariç:
SET1 -> ABCDEFGHIJKLMNOPQRSTUVXWYZabcdefghijklmnopqrstuvxwyz
SET2 -> IJKLMNOPQRSTUVXWYZABCDEFGHijklmnopqrstuvxwyzabcdefgh
Şimdi hem büyük hem de küçük harf için çalışıyor :)
Çalışmasını sağlamanın başka bir yolu tr
da aşağıdaki gibi iki komut kullanmaktır :
tr .............A-Z A-ZA-Z <<< "ABJ V hqrefgnaq" | tr .............a-z a-za-z
@İruvar tarafından nokta ikamesini kullanma konusunda bir uyarı verildi: giriş dizisinde nokta olduğunda bu komut beklendiği gibi çalışmaz. Bunun nedeni, noktaların diğer harflerle eşleştirilmesidir ve tr
değişiklik yaparken , giriş noktasını son eşlenen harfe değiştirir. Ama aslında noktalardan başka bir karakter kullanabilirsiniz. Yani, tr
komutunuzda nokta kullanmak bir sorunsa, @
örneğin kullanabilirsiniz. Bu kadar iyi çalışır:
tr @@@@@@@@@@@@@A-Z A-ZA-Z <<< "GUNAX LBH NYY..."