我想进入UNIX。我想将-
,?
,:
,/
,&
替换为%5f
,%3f
{{1 },%3a
,%2f
,%26
(这些是与ASCII代码对应的十六进制数字)。
我也试图让任何小写字符变为大写,反之亦然,例如%20
成为the rock
,THE ROCK
成为THE ROCK
。
我试图使用脚本使用标准的UNIX实用程序命令来完成所有操作,理想情况是所有这些命令都在一行上。
到目前为止我已经
了the rock
但不确定如何使tr A-Z a-z
和其他人吐出相应的十六进制#s。
答案 0 :(得分:1)
我想将大写字母改为小写,反之亦然。喜欢Hey TherE 变得很糟糕。
tr
可以做到这一点:
$ echo Hey TherE | tr '[a-zA-Z]' '[A-Za-z]'
hEY tHERe
tr
进行翻译,并在上文中将小写翻译为大写,反之亦然。
至于用十六进制值替换一些字符,这里是一个使用sed
的强力方法:
$ echo "and-or?" | sed 's/-/%2d/g; s/?/%3f/g; s/:/%3a/g; s|/|%2f|g; s/&/%26/g; s/ /%20/g'
and%2dor%3f