如何编写bash脚本,从文件中返回从开始到特定符号的行?

如何编写bash脚本,从文件中返回从开始到特定符号的行?,bash,ubuntu,Bash,Ubuntu,我有一个简单的文件: line1(sometext) line222(other_text) line333(other text) 我将符号“(”之前的word的参数部分传递给脚本 如果此行存在,如何使用grep命令进行检查? 例如,我传入参数word line222-它返回line222(其他_文本) 但当我通过“第2行”时,它说找不到该行 现在我有这个代码,如果我输入一个符号,它会给出错误的结果 if ! grep home "myfile.txt" | grep -- "$1"; th

我有一个简单的文件:

line1(sometext)
line222(other_text)
line333(other text)
我将符号“(”之前的word的参数部分传递给脚本 如果此行存在,如何使用grep命令进行检查? 例如,我传入参数word line222-它返回line222(其他_文本)

但当我通过“第2行”时,它说找不到该行 现在我有这个代码,如果我输入一个符号,它会给出错误的结果

if ! grep home "myfile.txt" | grep -- "$1"; then
   echo "Line doesn't exist"
fi

您可以按如下方式验证文件中是否存在特定行:

if [[ $(grep "^${1}" "myfile.txt") ]]; then
    echo "Line starts with \"${1}\" exists"
else
    echo "Line starts with \"${1}\" doesn't exist"
fi
或者,如果您只想在输出信息不存在时打印输出信息,则这可能会有所帮助:

if [[ ! $(grep "^${1}" "myfile.txt") ]]; then
    echo "Line starts with \"${1}\" doesn't exist"
fi

grep“^${1}”
搜索文本模式,
^${1}
意味着
从传递给脚本的变量开始。
[[…]
测试条件(bash方式)
符号否定测试条件。

您需要包含代码;-)。在这里发布更多Qs之前,请阅读、、和。祝你好运。你需要grep home的
部件做什么<代码>主页
似乎没有出现在您的文件中。