我有一个简单的问题需要解决。计算文件中每行的分隔符数量。shell脚本:while read line没有这样的文件或目录
这里是我的示例文件:
4489201,6421,,,
4619802,4276
我想指望有多少逗号中的每一行。我写这同时读取行脚本,但要得到一个错误“没有这样的文件或目录”
#!/bin/bash
data_file="$1"
while read line
do
delimiter_cnt=`sed 's/[^,]//g' $line | wc -c`
echo "delimiter_cnt"
done < $data_file
的错误信息是:
sed: can't read 4489201,6421,,,,,,,,,: No such file or directory
0
sed: can't read 4619802,4276,,,,,,,,,: No such file or directory
0
我会很感激你的帮助。提前致谢。
有了'bash',就能避免'echo'在使用''<<<操作格雷格Hewgill的回答是:'用sed的/ [^,] // g'<<<“$ line”| wc -c“,如果这只是你所做的,你甚至不需要捕获和回显输出。 –