加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell脚本:while read line没有这样的文件或目录

发布时间:2020-12-16 01:46:21 所属栏目:安全 来源:网络整理
导读:我有一个简单的问题要解决.计算文件中每行的分隔符数. 这是我的示例文件: 4489201,6421,4619802,4276 我想计算每行中有多少逗号.我在读取行脚本时写了这个,但是一直收到错误“没有这样的文件或目录” #!/bin/bashdata_file="$1"while read linedo delimiter
我有一个简单的问题要解决.计算文件中每行的分隔符数.

这是我的示例文件:

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,: No such file or directory
0
sed: can't read 4619802,4276,: No such file or directory
0

我将衷心感谢您的帮助.提前致谢.

解决方法

您要求sed按该名称读取文件.尝试将您的输入发送到sed的标准输入:

delimiter_cnt=`echo $line | sed 's/[^,]//g' | wc -c`

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读