![]() |
1
13
在Perl中:
不过,您可能需要在其中添加睡眠。 |
![]() |
2
11
有很多方法可以做到这一点,首先想到的是:
其中$cmd是要执行的命令。
免责声明:仅经过轻微测试,如果您的命令有大量参数或字符串包含特殊字符,则可能需要执行一些额外的转义等操作。 编辑 不要
BASH函数版本还包括:
|
![]() |
3
7
我很惊讶我没有看到这里提到的一个简短的Perl one liner:
Perl对于这样的东西来说是一种非常好的语言。将“命令”替换为要重复运行的命令。将“搜索”替换为您要搜索的内容。如果要搜索带有斜杠的内容,请替换
此外,Perl运行在许多不同的平台上,包括Win32,无论您在哪里安装Perl,这都可以运行。只要适当地更改您的命令即可。 |
![]() |
4
6
或
…这将打印一些漂亮的点来表示进度。 |
![]() |
5
1
|
![]() |
6
1
我最初的回答是假设“某个字符串”意味着“任何字符串”。如果您需要寻找一个特定的正则表达式,Perl可能是您最好的选择,因为在正则表达式匹配方面几乎没有什么能比Perl更好。 但是,如果您出于任何原因不能使用Perl(您可以期望Perl出现在大多数Linux发行版中,但是没有人强迫用户安装它,尽管Perl可能不可用),那么您可以在grep的帮助下进行安装。然而,到目前为止,我看到的一些grep解决方案是次优的(它们比必要的慢)。在这种情况下,我宁愿做以下工作:
代替 使用实际运行的命令 几根绳子 使用要搜索的字符串。如果在命令的输出中找到某个_字符串,循环将停止并打印找到某个_字符串的输出。 原始答复: 可能不是最好的解决方案(我不是一个优秀的bash程序员),但它会起作用:-P
只需将XXXX替换为您的命令调用,例如,尝试使用“ 回响 而且它将永远不会返回(因为echo从不将任何内容打印到标准输出),但是如果您使用 回声测试 |
![]() |
7
1
tee命令可以捕获管道中的stdout,同时仍在上传递数据,并且
|
![]() |
8
0
命令周围的反勾号使
|
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
g00dds · 如何在bash中从文件中的每一行解码base64? 2 年前 |
![]() |
Paul · Bash wait命令忽略指定的进程ID 2 年前 |
![]() |
RafaÅ G. · 如何使用从文件读取的多行参数运行ssh? 2 年前 |
![]() |
Priya · 在shell脚本中多次运行python脚本 2 年前 |