Shell 用于替换某些字符的unix实用程序
我正在尝试进入UNIX。我想替换和Shell 用于替换某些字符的unix实用程序,shell,unix,Shell,Unix,我正在尝试进入UNIX。我想替换和-,?,:,/,&成为%5f,%3f%3a,%2f,%26,%20(这些是对应于ASCII码的十六进制数字) 我还试图使任何小写字符变为大写,反之亦然,例如,岩石变为岩石和岩石变为岩石 我尝试使用标准的UNIX实用程序命令和脚本来完成这项工作,理想情况下,所有命令都在一行中完成 到目前为止,我有 tr A-Z a-z 但是不知道如何使?和其他的吐出相应的十六进制 我想把大写字母转换成小写字母,反之亦然。像是嘿 嘿,那里 tr可以做到: $ echo Hey T
-
,?
,:
,/
,&
成为%5f
,%3f
%3a
,%2f
,%26
,%20
(这些是对应于ASCII码的十六进制数字)
我还试图使任何小写字符变为大写,反之亦然,例如,岩石
变为岩石
和岩石
变为岩石
我尝试使用标准的UNIX实用程序命令和脚本来完成这项工作,理想情况下,所有命令都在一行中完成
到目前为止,我有
tr A-Z a-z
但是不知道如何使?
和其他的吐出相应的十六进制
我想把大写字母转换成小写字母,反之亦然。像是嘿
嘿,那里
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
您正在谈论的十六进制转换是,为此,您应该检查几个想法。哇!!!and或做什么?“and 5”和“for”之间不应该有空格吗?@user3563184字符串
和/或?
只是包含两个特殊字符的输入示例:-
和?
。如果你想把和/或?
转换成其他东西,请告诉我。我想我不知道发生了什么。如果我真的这么做,会发生什么?我有一个不匹配的错误。我想我不知道到底是什么is@user3563184$
是命令提示符。提示可能较长,但通常以$
结尾<代码>回显“和或?”创建样本输入。将引号中的字符串替换为所需的字符串。sed…
部件进行转换。在第一行上运行命令后,第二行应显示为输出。(如果我没有抓住你问题的重点,请告诉我。)哦,对不起,你说的对,非常感谢。你太棒了,我读了100遍就明白了,哈哈