📅  最后修改于: 2023-12-03 15:02:45.174000             🧑  作者: Mango
在Linux中,经常需要查看文件的行数,如果只查看一个文件还好,但如果需要查看多个文件的行数就会很麻烦。这时候可以使用Shell脚本来批量显示文件的行数。
以下是一个简单的Shell脚本,可以输入多个文件路径,然后显示每个文件的行数。
#!/bin/bash
# 定义函数 count_lines,用于统计文件行数
count_lines() {
echo "$1: `wc -l < $1` lines"
}
# 循环处理所有输入的文件路径
for file in "$@"; do
if [ -f "$file" ]; then
count_lines "$file"
else
echo "Not a file: $file"
fi
done
该脚本首先定义了一个函数 count_lines
,该函数接受一个文件路径参数,并使用 wc -l
命令来统计文件的行数,然后打印出来。
接着使用 for
循环,循环处理所有输入的文件路径。如果当前循环到的文件存在,则调用 count_lines
函数来统计文件行数并输出;否则打印出错误信息。
首先将上面的代码保存为一个文件,例如 count_lines.sh
,并赋予执行权限(chmod +x count_lines.sh
)。
然后在终端中运行该脚本,并输入要统计行数的文件路径,例如:
./count_lines.sh /path/to/file1 /path/to/file2 /path/to/file3
脚本将会逐个输出每个文件的行数。如果输入的文件路径不是一个文件,则会输出错误信息。
通过上面的Shell脚本,可以轻松批量地显示多个文件的行数。当然,该脚本还可以进行更多的扩展,例如可以加上选项参数 -r
,表示递归处理目录下所有文件。总之,Shell脚本是Linux系统中非常强大和灵活的一种工具,可以用于各种系统管理和数据处理任务。