Jen*_*ssa 5 command-line text-processing
有一个受 ROT13 影响的文本,称为rot.txt. ROT13(旋转 13 位)用字母表中的 13 个字母替换一个字母。如何编写命令来查看实际文本?
我试过:
cat rot.txt | tr 'A-Za-z' 'N-ZA-Mn-za-m'
Run Code Online (Sandbox Code Playgroud)
但没有成功
这是一种带有示例的方法
\n\necho "hello world" | tr "$(echo -n {A..Z} {a..z} | tr -d \' \')" "$(echo -n {N..Z} {A..M} {n..z} {a..m} | tr -d \' \')"\nRun Code Online (Sandbox Code Playgroud)\n\n输出:
\n\nuryyb jbeyq\nRun Code Online (Sandbox Code Playgroud)\n\n使其成为一个函数:
\n\nfunction rot13() { \n cat | tr "$(echo -n {A..Z} {a..z} | tr -d \' \')" "$(echo -n {N..Z} {A..M} {n..z} {a..m} | tr -d \' \')" \n}\nRun Code Online (Sandbox Code Playgroud)\n\n用法:
\n\n\xe2\x9e\x9c echo "hello world" | rot13 \nuryyb jbeyq\nRun Code Online (Sandbox Code Playgroud)\n
小智 5
您还可以使用以下命令获得相同的输出:
tr '[a-z][A-Z]' '[n-za-m][N-ZA-M]'
Run Code Online (Sandbox Code Playgroud)
或者
tr '[a-zA-Z]' '[n-za-mN-ZA-M]'
Run Code Online (Sandbox Code Playgroud)
就我个人而言,我发现这种语法更容易。