【发布时间】:2015-11-04 07:54:02
【问题描述】:
我正在使用 Bash 读取压缩后的 csv 文件。我可以使用zgrep 获取行计数,但是当我将该行计数值存储在变量中时,我认为回车符也被存储了。因此,变量存储10\r,而不是10。
当我echo变量时,它看起来像一个数字,我看不到回车符。
我试图通过将变量与另一个存储整数的变量进行比较来对变量进行一些数学运算,这就是引发错误的原因。
如何去掉回车符?
top answer here 似乎相关,但我无法弄清楚 done 是什么以及如何将其应用于我的情况
这是返回文件行数的函数:campaignFileRowCount=$(zgrep -w "campaign"$today".csv.gz" rowcountfile_"$today".csv.gz | cut -d, -f2)
然后当我尝试这样做echo $((campaignFileRowCount - 0)) 时,我收到错误")syntax error: invalid arithmetic operator (error token is "
【问题讨论】:
-
done只是关闭while循环体的关键字。 -
请注意,回车仅在
echo后面可见:回显10\rasdf只会打印asdf,因为回车会重置行并开始打印 @ 987654335@ 超过10。 -
添加了我在做什么的详细信息。 Notepad++还显示了使用Windows格式化EOL转换的rowcountfile
标签: bash