为什么linux txt文件中有隐藏列?

为什么linux txt文件中有隐藏列?,linux,file,multiple-columns,edit,hidden,Linux,File,Multiple Columns,Edit,Hidden,我无法解释为什么在编辑此文件时会发生这种情况A head fileA -n 3 10010 NC_000002.12 161136926 161236175oding 10012629NC_000005.10A2-1136080497 136080596cRNA 10012630NC_000023.1188 145994783q27.3 145994859 head fileA -n 3|cut -f 2 TANK VTRNA2-1 MIR888 我已

我无法解释为什么在编辑此文件时会发生这种情况A

head fileA -n 3
10010    NC_000002.12    161136926       161236175oding
10012629NC_000005.10A2-1136080497       136080596cRNA
10012630NC_000023.1188  145994783q27.3  145994859

head fileA -n 3|cut -f 2
TANK
VTRNA2-1
MIR888
我已删除并重新生成该文件,但仍会发生这种情况 请帮忙

而且

more fileA|grep "TANK"
10010   NC_000002.12    161136926       161236175oding

是否有可能某些列被隐藏?

可能的问题是文本文件中有
退格字符。
下面是一个演示:

#include <stdio.h>
int main () {
    printf("foo\tTANK\t\b\b\b\b\b\b\b\b\bspace\n");
}
\b
是告诉C输入退格字符的一种方法。在您的文件中,保留所有字符,包括坦克字符。但是,当在终端中显示时,退格字符会在每个退格中返回一个字符,如果随后打印其他内容,则已打印的字符将被覆盖

如果需要查看包含退格字符等内容的文件,请尝试使用十六进制编辑器查看该文件。它将允许您查看所有详细信息


或者,使用vi或gedit等编辑器通常也会显示这些字符。

您不应该使用
更多的
,为此,请使用
cat
或调用
grep“TANK”文件a
@Klaus,与
cat
grep“TANK”的结果相同是的,它应该是取决于你喜欢什么,有时你会增加更多的东西,这样你就可以使用<代码> GRIP“坦克”文件“GRIP”……/代码>嘿,一旦你发现我的答案令人满意,你会考虑接受它吗?谢谢!这就是答案,除了\b,还有\r文件在
更多文件a | sed-e的//[\b\r]//g'>新文件a
$ ./test 
foo    space
$ ./test | cut -f1
foo
$ ./test | cut -f2
TANK
$ ./test | cut -f3
space