📌  相关文章
📜  bash 打印一行直到匹配 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:39:28.651000             🧑  作者: Mango

Bash 打印一行直到匹配 - Shell-Bash

本篇介绍如何使用 Bash 脚本在终端中打印一行直到匹配到指定内容的操作。

#!/bin/bash

# 定义要匹配的内容
match="目标内容"

# 打印一行直到匹配到指定内容
print_until_match() {
  while IFS= read -r line; do
    echo "$line"
    if [[ $line == *"$match"* ]]; then
      break
    fi
  done
}

# 调用函数打印
print_until_match < input.txt

上述代码是一个 Bash 脚本的示例,其中 input.txt 是输入文件,包含多行文本内容。

首先,定义了一个需要匹配的目标内容 match。然后,定义了一个名为 print_until_match 的函数,它会从输入文件中逐行读取文本并打印,直到匹配到目标内容为止。

在函数的主体中,首先使用 read -r line 语句来读取一行文本,并将其存储在变量 line 中。然后,使用 echo "$line" 将该行文本打印输出。

接着,使用条件语句 if [[ $line == *"$match"* ]] 来检查该行文本是否包含目标内容。如果是,则退出循环。

最后,通过调用 print_until_match < input.txt 来执行函数,并将输入文件传递给函数进行处理。在执行过程中,脚本将会打印文件中的每一行内容,直到匹配到目标内容为止。

希望本文能帮助你了解如何使用 Bash 脚本打印一行直到匹配到指定内容的操作。