我知道我可以把大写字母翻译成小写字母
echo 'linux' | tr "az" "AZ"
我将如何翻译或replace%20%26%的事件20。 也许这样的事情
echo '&' | tr "&" "%20%26%20"
sed -i 's/&/%20%26%20/g' inputfile
将编辑文件到位。
你可以使用shell。
$ var="&test" $ echo ${var//&/%20%26%20} %20%26%20test
tr
命令不起作用的原因是tr
将它视为2个参数,不是任意字符串,而是列表。 tr
在字符串中找到“&”; 这是第一个参数中的第一个元素; 它被第二个参数中对应的第一个元素所取代。
从手册页 :
当没有指定-d选项时:
o Each input character found in the array specified by string1 is replaced by the character in the same rela- tive position in the array specified by string2. When the array specified by string2 is shorter that the one specified by string1, the results are unspecified.
提供的sed
和bash
解决方案就是你想要的。