写一段shell程序,功能是将多个文件中的某段字符串所在行的内容截取出来,并统计个数
时间: 2023-06-02 14:03:00 浏览: 78
#!/bin/bash
# 设置要查找的字符串
search_string="example"
# 定义一个变量来记录匹配到的行数
match_count=0
# 循环处理每个文件
for file in *.txt; do
# 在文件中查找字符串所在的行
matching_lines=$(grep -n "$search_string" "$file" | cut -d ":" -f 1)
# 如果没有匹配到,则跳过该文件
if [[ -z "$matching_lines" ]]; then
continue
fi
# 循环处理每个匹配到的行
for line_number in $matching_lines; do
# 截取该行的内容
line=$(sed -n "${line_number}p" "$file")
# 输出截取到的内容
echo "$file:$line"
# 记录匹配行数
match_count=$((match_count+1))
done
done
# 输出匹配到的行数
echo "Total matching lines: $match_count"
阅读全文