Shell - 统计文件行数

方法1

获取单个文件行数
awk ‘{print NR}’ file|tail -1

方法2

获取单个文件行数
awk ‘END{print NR}’ file

方法3

获取单个文件行数

方法6

cat file |wc -l

方法

列出特定目录所有文件的行数
如果没有传递目录参数,则表示当前目录

#!/bin/bash
# 获取特定目录下所有文件的函数
filesCount=0
linesCount=0

function funCount()
{
    for file in ` ls $1 `
    do
        # 针对子目录,递归调用
        if [ -d $1"/"$file ];then
            funCount $1"/"$file
        # 目录下文件
        else
            # 传递的参数是文件
            # 生命fileLines是整形
            declare -i fileLines
            # sed非交互式文本编辑器
            # Usage1: [选项] 'sed命令' 输入文件
            # -n选项:不打印所有行到标准输出
            # =命令:打印行号,$=:打印最后一行行号
            fileLines=`sed -n '$=' $1"/"$file`
            let linesCount=$linesCount+$fileLines
            let filesCount=$filesCount+1
        fi
    done
}

# 位置参数$#  传递到脚本的参数数量
# $@和$*     传递到脚本的所有参数
if [ $# -gt 0 ];then
    for m_dir in $@
    do
        funCount $m_dir
    done
else
    funCount "."
fi
echo "该目录下文件数量 = $filesCount"
echo "该目录下所有文件的行数和 = $linesCount"

方法

获取特定目录特定扩展名文件的行数
https://www.jb51.net/article/61943.htm

猜你喜欢

转载自blog.csdn.net/qq_29573903/article/details/88370604