Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Can';无法在Bash中正确打印文件_Bash_Shell_Text - Fatal编程技术网

Can';无法在Bash中正确打印文件

Can';无法在Bash中正确打印文件,bash,shell,text,Bash,Shell,Text,我试图回应链接的内容,它展示了我觉得奇怪的行为 git@gud:/home/git$ URL="https://raw.githubusercontent.com/fivethirtyeight/data/master/births/US_births_1994-2003_CDC_NCHS.csv" git@gud:/home/git$ content=$(wget $URL -q -O -) git@gud:/home/git$ echo $content 2003,12,31,3,12374

我试图
回应
链接的内容,它展示了我觉得奇怪的行为

git@gud:/home/git$ URL="https://raw.githubusercontent.com/fivethirtyeight/data/master/births/US_births_1994-2003_CDC_NCHS.csv"
git@gud:/home/git$ content=$(wget $URL -q -O -)
git@gud:/home/git$ echo $content
2003,12,31,3,12374_month,day_of_week,births
当我在浏览器上打开链接时,我希望这段代码能够像我看到的那样打印内容。但是,整体而言,输出是
2003,12,31,312374\u月、周、日、出生,仅此而已

在下载文件后,我实际上在本地也看到了这种行为。尝试使用
curl
和简单地复制粘贴到文本编辑器并保存文件。他们都表现出相同的行为。同样的情况也发生在
cat
cut
head
tail
甚至
awk

这不会发生在其他文件中,并且在Python上运行良好。我错过了什么?我如何让它工作

我意识到文件不会以新行字符结尾,但是添加它并不能修复它


我使用的是Ubuntu 18.04.1 LTS,我使用的CLI是Bash版本4.4.19(1)。

数据文件使用Mac风格的行尾标记(仅回车)。当您
echo
内容,或只是
cat
文件时,所有行都相互打印。如果使用
less
vim
查看文件,您将看到完整的内容

试试这个:

$ URL="https://raw.githubusercontent.com/fivethirtyeight/data/master/births/US_births_1994-2003_CDC_NCHS.csv"
$ curl -o data.csv "$URL"
wc
命令认为文件有零行:

$ wc -l data.csv
0 data.csv
现在,让我们翻译这些线末端标记:

$ tr '\r' '\n' < data.csv > data-modified.csv
如果我们对文件进行分类:

$ cat data-modified.csv
.
.
.
2003,12,28,7,7645
2003,12,29,1,12823
2003,12,30,2,14438
2003,12,31,3,12374

数据文件使用Mac样式的行尾标记(仅限回车符)。当您
echo
内容,或只是
cat
文件时,所有行都相互打印。如果使用
less
vim
查看文件,您将看到完整的内容

试试这个:

$ URL="https://raw.githubusercontent.com/fivethirtyeight/data/master/births/US_births_1994-2003_CDC_NCHS.csv"
$ curl -o data.csv "$URL"
wc
命令认为文件有零行:

$ wc -l data.csv
0 data.csv
现在,让我们翻译这些线末端标记:

$ tr '\r' '\n' < data.csv > data-modified.csv
如果我们对文件进行分类:

$ cat data-modified.csv
.
.
.
2003,12,28,7,7645
2003,12,29,1,12823
2003,12,30,2,14438
2003,12,31,3,12374

我对问题有预感,但你到底看到了什么行为?@DavidZ输出是
2003,12,31,312374\u月、周、日、出生
,就是这样。没别的了。这是第一行的最后一行。啊,我明白了。编辑问题以提及您看到的是第一行部分上的最后一行,或者,您可以在问题中包括第一行和最后几行(可能使用
表示中间部分已被省略)。尽量做到这样,如果有人无法访问链接上的文件,他们仍然可以理解出了什么问题。@DavidZ这实际上就是整个输出。我希望现在已经说清楚了。谢谢。我有一个关于问题是什么的预感,但是你实际上看到了什么行为?@DavidZ输出是
2003,12,31,312374\u月,周,日,出生
,就是这样。没别的了。这是第一行的最后一行。啊,我明白了。编辑问题以提及您看到的是第一行部分上的最后一行,或者,您可以在问题中包括第一行和最后几行(可能使用
表示中间部分已被省略)。尽量做到这样,如果有人无法访问链接上的文件,他们仍然可以理解出了什么问题。@DavidZ这实际上就是整个输出。我希望现在已经说清楚了。谢谢,非常感谢。我有一个后续问题(如果这有点牵强,请告诉我),希望你能帮助我。当我用Python阅读该文件时,我看到的是
\n
,而不是
\r
,因此我很容易将其视为行尾字符的问题。看见为什么会这样?我缺少什么知识?会吗?我知道
tr
将安装在几乎任何地方。对于
mac2unix
,情况就不是这样了。非常感谢。我有一个后续问题(如果这有点牵强,请告诉我),希望你能帮助我。当我用Python阅读该文件时,我看到的是
\n
,而不是
\r
,因此我很容易将其视为行尾字符的问题。看见为什么会这样?我缺少什么知识?会吗?我知道
tr
将安装在几乎任何地方。对于
mac2unix
,情况就不是这样了。