【发布时间】:2015-03-19 15:49:09
【问题描述】:
我有一个大的 csv (foobar.csv, delimiter = tab),里面有这样的内容
foo /Category1 & Category2
bar /Category3 & Category4
...
这个命令
cut foobar.csv -f2 | uniq
将打印
/Category1 & Category2
/Category3 & Category4
等等……
我想把它放在一条线上,所以我试过了
echo -n "$(cut foobar.csv -f2 | uniq)"
但这会打印一些神秘的东西,例如
/Cat4ory
有没有人知道为什么会发生这种情况,或者我如何才能使类别上线?
理想情况下,我想将输出转换为可以在 for 循环中使用的数组。
【问题讨论】:
-
该 echo 命令不会删除内部换行符,因为您引用了命令替换。实际上,
echo毫无意义。确保您的文件没有 DOS 换行符。他们混淆了输出。如果您想将输入逐行读取到数组中,请参阅mywiki.wooledge.org/BashFAQ/001。