【发布时间】:2014-06-19 07:16:21
【问题描述】:
这是我尝试使用 bash 的第一天,所以对于这个可能很愚蠢的问题,我深表歉意....
我有一个 24 行 x 5 列的制表符分隔文本文件。例如,这里是前几行:
rad97pt_1 p97_1 raddptdz97_1 dp97_1 rad97_1 w97_1
rad97pt_2 p97_2 raddptdz97_2 dp97_2 rad97_2 w97_2
rad97pt_3 p97_3 raddptdz97_3 dp97_3 rad97_3 w97_3
我正在尝试使用 cat 命令显示文本文件中的所有数据。这是我在 vi 编辑器中编写的代码:
#!/bin/bash
cat filelist97.txt
我的输出是:
rad97pt_24 p97_24 raddptdz97_24 dp97_24 rad97_24 w97_24
为什么只输出文本文件的最后一行?再次感谢您的帮助!
【问题讨论】:
-
所以当你执行这个脚本时你会得到这个?看起来很奇怪。你是如何执行脚本的?
-
问题。奇怪的行尾标记。使用十六进制编辑器/工具(例如
hexdump -C)查看您的文件。 -
bash-3.2$ ./auto.sh rad97pt_24 p97_24 raddptdz97_24 dp97_24 rad97_24 w97_24bash-3.2$
-
您使用的是 Windows 文件吗?在这种情况下,请尝试使用
dos2unix来“导入”该文件,以便在 UNIX 中对其进行正确处理。 -
我通过在终端窗口中输入 cat filelist97.txt 得到相同的输出。