使用 Linux 进行转换
Transformation using Linux
使用 Linux (Bash),我想转换一个文件,使 1 = A A; 2 = 乙乙; 3 = C C 和 0 = 0 0:
输入文件:
1210
2312
1201
输出字段:
A A B B A A 0 0
B B C C A A B B
A A B B 0 0 A A
我试过这个,但没有得到我想要的结果:
cat 文件 | tr [1230] [A A B B C C 0 0]
感谢任何帮助!
谢谢!
我会这样做:
cat << EOF | sed 's/0/0 0 /g;s/1/A A /g;s/2/B B /g;s/3/C C /g;s/ $//g'
1210
2312
1201
EOF
输出:
A A B B A A 0 0
B B C C A A B B
A A B B 0 0 A A
可能还有更优雅的方式。这个使用 sed
和多个命令来执行 4 个替换(包括后缀 space 分隔符),最后一个命令 trim 最后一个尾随 space该行,如果在所有替换完成后存在。
另请参阅:
使用 Linux (Bash),我想转换一个文件,使 1 = A A; 2 = 乙乙; 3 = C C 和 0 = 0 0:
输入文件:
1210
2312
1201
输出字段:
A A B B A A 0 0
B B C C A A B B
A A B B 0 0 A A
我试过这个,但没有得到我想要的结果:
cat 文件 | tr [1230] [A A B B C C 0 0]
感谢任何帮助!
谢谢!
我会这样做:
cat << EOF | sed 's/0/0 0 /g;s/1/A A /g;s/2/B B /g;s/3/C C /g;s/ $//g'
1210
2312
1201
EOF
输出:
A A B B A A 0 0
B B C C A A B B
A A B B 0 0 A A
可能还有更优雅的方式。这个使用 sed
和多个命令来执行 4 个替换(包括后缀 space 分隔符),最后一个命令 trim 最后一个尾随 space该行,如果在所有替换完成后存在。
另请参阅: