Tr

這個 tr 命令中的點有什麼作用:tr ……AZ A-ZA-Z <<< ‘JVPQBOV’(有 13 個點)

  • April 6, 2019

我想用來tr做一些 rot13 轉換。我可以很好地理解這個命令:

tr A-Za-z N-ZA-Mn-za-m &lt;&lt;&lt; "URYC ZR CYRNFR"

哪個輸出是HELP ME PLEASE,但我不知道這個其他命令如何產生相同的 rot13 轉換:

tr .............A-Z A-ZA-Z &lt;&lt;&lt; "URYC ZR CYRNFR"

所以我有兩個問題:

  1. tr第二個命令背後的魔力是什麼?
  2. 如何使第二個命令對小寫和大寫都有效,就像第一個命令一樣?

它的工作原理如下:

SET1-&gt; .............ABCDEFGHIJKLMNOPQRSTUVWXYZ
SET2-&gt; ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLM

所以tr會翻譯SET1SET2.

這相當於第一個,因為它也按13單位移動,因為有 13 個點。

要包含小寫字母,您必須以SET1類似的偏移量排列它們,即:

.............ABCDEFGHIJKLMNOPQRSTUVWXYZ..........................abcdefghijklmnopqrstuvwxyz

ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyzabcdefghijklm

Z那是和之間的 26 個點a,跨越一半的大寫字母和一半的小寫字母。所以tr命令本身將是:

tr .............A-Z..........................a-z A-ZA-Za-za-z

引用自:https://unix.stackexchange.com/questions/510838