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

shell – 每行文件unix中的字节数

发布时间:2020-12-15 21:22:34 所属栏目:安全 来源:网络整理
导读:我想计算一个文件中的所有行,其中字节数大于一个值(比如10).我怎么能这样做? 我尝试使用cat文件| awk’length($0) 10’但是这给了我所有字符数大于10的行.我想计算字节数. 我写了下面的代码,但它不起作用.它返回一些乱码输出: #!/bin/kshfile="a.txt"while
我想计算一个文件中的所有行,其中字节数大于一个值(比如10).我怎么能这样做?

我尝试使用cat文件| awk’length($0)> 10’但是这给了我所有字符数大于10的行.我想计算字节数.

我写了下面的代码,但它不起作用.它返回一些乱码输出:

#!/bin/ksh
file="a.txt"
while read line
do
    a=`wc -c "${line}"|awk {'print $1'}`
    if [ $a -ne 493]; then
    echo "${line}"
    fi
done <"$file"

解决方法

你的方法非常好,只需你做一个= $(wc -c<<<<“$line”)或者a = $(echo“$line”| wc -w),不需要管道要awk.另外,注意在if条件下493后需要额外的空格. 全部一起:

#!/bin/ksh
file="a.txt"
while read line
do
    a=$( echo -n "$line" | wc -c) # echo -n to prevent counting new line
    if [ "$a" -ne 493 ]; then
      echo "${line}"
    fi
done <"$file"

(编辑:李大同)

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

    推荐文章
      热点阅读