我有一个包含
等内容的文件12345
我需要像这样转换这种字符串:
"0"->"a"
"1"->"b"
...
"9"->"j"
因此,12345
应该会产生abcde
。我想通过shell(bash)实现这一点。这样做的最佳方式是什么?
感谢。
答案 0 :(得分:14)
在任何shell中,您都可以使用:
echo "$string" | tr 0123456789 abcdefghij
或者,在Bash中没有管道:
tr 0123456789 abcdefghij <<< "$string"
(可能没有必要使用双引号,但我确实使用它们。)
答案 1 :(得分:6)
echo 12345 | tr '[0-9]' '[a-j]'
答案 2 :(得分:3)
使用sed的地图运算符。
sed 'y/12345/hWa!-/' <<< '2313134'
答案 3 :(得分:2)
tr 0123456789 abcdefghij < filename
答案 4 :(得分:0)
有多种方法可以做到:
perl -lnaF -e 'print map chr($_+97), @F' file
abcdefghij