Bash 以矩阵格式显示数据?

Bash 以矩阵格式显示数据?,bash,Bash,我有这个文件data.txt,内容是: 100X00 20X0X0 3000XX 4X00XX 我想以矩阵格式显示,如 A B C D E 1 X 2 X X 3 X X 4 X X X 我可以自由使用任何命令,如sed/awk或grep。我目前的方法是: a=0 echo -e "\tA\tB\tC\t

我有这个文件data.txt,内容是:

100X00
20X0X0
3000XX
4X00XX
我想以矩阵格式显示,如

    A    B    C    D    E
1             X         
2        X         X     
3                  X    X
4   X              X    X
我可以自由使用任何命令,如sed/awk或grep。我目前的方法是:

a=0
echo -e "\tA\tB\tC\tD\tE"
while read line
    do a=$(($a+1));
    sed '{s/0/ /g}' data.txt
done < data.txt
a=0
echo-e“\tA\tB\tC\tD\tE”
读行时
doa=$($a+1));
sed“{s/0//g}”data.txt
done
当然它不起作用。有人能帮我吗?

echo-e“\tA\tB\tC\tD\tE”
echo -e "\tA\tB\tC\tD\tE"
sed 's|.|&\t|g; s|\t0|\t|g; s|\t*$||' <data.txt

sed的| |&\t | g;s |\t0 |\t | g;s |\t*$| |好吧,我要么问,要么就说。这可能与家庭作业无关,而家庭作业与飞机座位和预订有关?在过去的几天里,我至少看到了另外两个关于bash和以这种格式处理文件的问题……嗯,你是对的:@ltn100:而且这个问题看起来非常相似:你是天才。如果您能解释sed代码,对于像我这样的新bash脚本学习者来说会更好。你可以吗?谢谢你的解释。玩过之后,我想我现在明白代码了。但是我有点难过,当你说我在我的另一篇文章中发布作业=(重定向是不必要的
sed
接受文件名作为参数。