编写一个Shell脚本,接受一个文件名作为参数,并在文件中查找指定的关键字,输出匹配的行数和行内容.
时间: 2024-03-01 21:54:34 浏览: 109
sh代码-第一个shell程序
下面是一个简单的 Shell 脚本,用于在指定的文件中查找指定的关键字,并输出匹配的行数和行内容:
```bash
#!/bin/bash
# 检查输入参数是否正确
if [ $# -ne 2 ]; then
echo "Usage: $0 <filename> <keyword>"
exit 1
fi
# 读取输入参数
filename=$1
keyword=$2
# 判断文件是否存在
if [ ! -f $filename ]; then
echo "$filename not found"
exit 1
fi
# 查找匹配的行数和行内容
count=$(grep -c $keyword $filename)
lines=$(grep $keyword $filename)
# 输出结果
echo "Matched lines: $count"
echo "-----------------"
echo "$lines"
```
脚本接受两个参数,第一个参数是要查找的文件名,第二个参数是要查找的关键字。脚本首先检查输入参数是否正确,并判断要查找的文件是否存在。然后使用 `grep` 命令查找匹配的行数和行内容,最后输出结果。
要使用这个脚本,只需要将脚本保存成一个文件,比如 `find_keyword.sh`,然后在终端中执行以下命令:
```bash
./find_keyword.sh <filename> <keyword>
```
其中 `<filename>` 是要查找的文件名,`<keyword>` 是要查找的关键字。
阅读全文