gpt4 book ai didi

linux - 函数中的命令不能像在终端中手动输入那样工作

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:39 24 4
gpt4 key购买 nike

我需要为这样的东西解析文档:

#00 service.
log: servicelogin
pass: password

别担心,文件已加密并与系统分离:)所以你看到第一行和第二行都有“服务”,所以这样做:

cat /path | grep -A 3 service

返回 4 行,因为它找到服务两次。

但是,在终端中输入这个命令:

cat /path | grep -A 3 service | grep -A 3 -m 1 "/."

像魅力一样工作。

但是!因为我需要在最后输入“服务”,所以别名不够好。所以我创建了一个函数:

function do-stuff {
cat /path | grep -A 3 $1 | grep -A 3 -m 1 "/."
}

它像第一个一样工作,无需再次解析。

就是这样。谢谢!

===编辑===

当然,我试过像这样组合它

cat /path | grep -A 3 -m 1 service

但这也行不通。仅返回一行。

===编辑===

我只需要获取 3 行,而不是 4 行,因为它会在下一行再次找到它。

最佳答案

您的正则表达式不够具体。也许像

grep -A 3 '#.* service\.' /path

关于linux - 函数中的命令不能像在终端中手动输入那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42862633/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com