小编Cyr*_*rus的帖子

使用正则表达式 bash 将字符串提取到变量

我有一个像这样的字符串:

Return-Path: bT.41aywtru20=krja5b54hplm=k29fsc7grl@fake.link.com
Received-SPF: pass (fake.link.com: Sender is authorized to use 'bt.41aywtru20=krja5b54hplm=k29fsc7grl@fake.link.com' in 'mfrom' identity (mechanism 'include:spf.smtp2go.com' matched)) receiver=pmxlab01.permission.email; identity=mailfrom; envelope-from="bt.41aywtru20=krja5b54hplm=k29fsc7grl@fake.link.com"; helo=e2i353.smtp2go.com; client-ip=103.2.141.97
Received: from e2i353.smtp2go.com (e2i353.smtp2go.com [103.2.141.97])
    by mailserver.fake.com(Proxmox) with ESMTP id A4F983E1048
    for <fake@fake.com>; Tue, 24 Aug 2021 14:47:20 +0100 (BST)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
    d=smtpcorp.com; s=a1-4; h=Feedback-ID:X-Smtpcorp-Track:Message-Id:Subject:
    Date:To:From:Reply-To:Sender:List-Unsubscribe;
    bh=cTg4MkkE2uaIjpApjJYQFK3RgYiMF3bwCj8UZjFO4NE=; b=STU7lctit7L5LJ2tA3Re1fe4II
    lXJbY/SBXTGqCHh9p4K86aLK5Bvz98Q7eR9xwjFib6x4NoZZ5L1fke0XQERd1eQvxkl9R+kRIGU8A
    QOtrLPpt8coN8P+syoaTRR4pDJQG9OfJO1fON9OaOP8HwnEg/91ie6Cm+wQRxjwyat859uAcu89Xv
    6/mrcequkSp6kfiQN4goZ7vMYJYfBYuooslbTciaK4SYIfxdINyrrWGA6QhJPobdW0uuedRNY5jBG
    OdMbVmm7FTpxDJs51rB1PTIcFQ8W1oypcttqSgCjI+5eMVrabU/IoIxhX5F0Cn3zm7E9CHlaJuLt1
    CRXVbwdw==;
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=fake.com; i=@fakelink.com; q=dns/txt; s=s575655;
 t=1629812840; h=from : subject : to : message-id : date;
 bh=cTg4MkkE2uaIjpApjJYQFK3RgYiMF3bwCj8UZjFO4NE=;
 b=TEeEsPNLf7Wi6b8aaxE6JvfymfBKYjLq7izcUVrOXTW7sGIznxOA5udhfmDh15Fgp6Qgh
 Kv5HX9uPNa8TEeoaJ+gV/4KERuscnc4GXEHwo0eclktx6f6JI5h1/q+qCe34+cN/EweaP5n …
Run Code Online (Sandbox Code Playgroud)

regex bash awk

8
推荐指数
1
解决办法
90
查看次数

将Oracle PL/SQL转换为Postgresql PL/pgSQL的工具

是否有一个工具(最好是免费的)将Oracle的PL/SQL存储过程语言转换为Postgresql的PL/pgSQL存储过程语言?

oracle postgresql plsql translation plpgsql

7
推荐指数
3
解决办法
2万
查看次数

Git for Windows,运行git bash而不是薄荷?

将我的PC升级到Windows 10并进行重置后,我不得不重新下载我的所有程序.当我下载Git for Windows时,它与我之前使用的版本相比有更新的版本.这个版本看起来使用mintty作为终端,在运行某些命令时似乎不支持使用箭头键滚动选项.示例是Yeoman,您应该使用箭头键选择要执行的操作,但箭头键只是移动光标而不是选项列表.

所以认为这是一个薄薄的问题,我怎么能回到以前使用的终端(抱歉不记得它是2.5之前的版本)?或者如何在没有薄荷的情况下启动git-bash?或者任何人都知道如何正确使用箭头?

git git-bash

7
推荐指数
1
解决办法
7230
查看次数

Git Bash Open Command Windows

我对命令行非常陌生,只是编程.我使用Windows,我正在为维京代码学校做准备工作.在其中一个课程中,它要求我们在Git Bash中使用'open'命令(如果我们不在Linux或Mac上,我们将下载Git Bash)这对我不起作用.当我输入它时,我收到错误"bash:open:command not found",我该如何解决这个问题或解决它?谢谢

git command git-bash

7
推荐指数
5
解决办法
3万
查看次数

Heredoc在码头工程师

我基本上试图让Flask-migrate的shell使用Flask应用程序上下文执行heredoc

下面是我试图在我的bash脚本中运行的命令

$ docker exec -it mycontainer ./manage shell <<-EOF
    # shell commands to be executed
EOF
Run Code Online (Sandbox Code Playgroud)

当我尝试执行上述命令时,我得到:

cannot enable tty mode on non tty input

这是管理文件:

#!/usr/bin/env python

from middleware import create_app, config
from middleware.models import db

from flask.ext.script import Manager
from flask.ext.migrate import Migrate, MigrateCommand


app = create_app(config)
migrate = Migrate(app, db)

manager = Manager(app)
manager.add_command('db', MigrateCommand)


if __name__ == '__main__':
    manager.run()
Run Code Online (Sandbox Code Playgroud)

我的问题是有一种方法可以将像heredoc这样的命令传递给shell吗?

python bash shell heredoc docker

7
推荐指数
1
解决办法
2078
查看次数

zsh:找不到命令:rabbitmq-server

我一直在通过自制软件关注 RabbitMQ安装指南

它说,添加一行到我.bash_profile,但因为我使用ohmyzsh为我端我猜我不得不编辑我的.zshrc文件。

我尝试添加以下可能性:

  • PATH=$PATH:/usr/local/sbin
  • export PATH=$PATH:/usr/local/sbin
  • export PATH=/usr/local/sbin:$PATH

不幸的是,他们都没有工作。

.zshrc文件的其他地方,我看到这一行:export ZSH=/Users/robinkim/.oh-my-zsh. 这可能会提供有关需要添加什么的线索。

编辑:我只是忘了 brew link rabbitmq

zsh rabbitmq

7
推荐指数
1
解决办法
3723
查看次数

并行分割文本和进程

我有一个程序可以生成很多(太字节)的输出并将其发送到stdout.

我想分割输出并与另一个程序的一堆实例并行处理它.它可以以任何方式分发,只要线条保持完整即可.

Parallel可以执行此操作,但它需要固定数量的行并在此之后重新启动过滤器进程:

./relgen | parallel -l 100000 -j 32 --spreadstdin ./filter
Run Code Online (Sandbox Code Playgroud)

有没有办法保持一定数量的进程运行并在它们之间分配数据?

parallel-processing bash gnu-parallel

7
推荐指数
1
解决办法
390
查看次数

正则表达式匹配行尾 $ 在 Bash 脚本中不起作用

我正在尝试在 bash 脚本中执行一个简单的正则表达式语句,该语句将匹配并替换单词的结尾。下面是我正在尝试做的。

wordh > word:’
Run Code Online (Sandbox Code Playgroud)

下面是我正在使用的代码。

#!/bin/bash
STAT=${STAT/h$/:’}
Run Code Online (Sandbox Code Playgroud)

我不熟悉 bash 脚本,我认为它与 bash 有关系,$因为它用于标记变量。我试图逃避它以及/在它之后添加另一个。当我删除$它时(不检查单词的结尾)。

regex bash eol parameter-expansion

6
推荐指数
1
解决办法
972
查看次数

测试用户是否可以使用Bash sudo的最佳方法是什么?

阅读sudo手册页,我看到-v标志可用于检查用户是否在他的工作站中具有sudo权限.我有一块需要测试它的脚本.如果用户没有sudo权限,则会在屏幕上打印:

Sorry, user tester may not run sudo on debian.
Run Code Online (Sandbox Code Playgroud)

如何抑制此消息并执行其余代码?

linux bash output-redirect

6
推荐指数
1
解决办法
362
查看次数

while 循环 bash 中变量的行

假设一个文件file有多行。

$ cat file
foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

进一步假设我希望用 while 循环遍历每一行。

$ while IFS= read -r line; do
$   echo $line
$   # do stuff
$ done < file
foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

最后,请假设我希望传递存储在变量中的行而不是存储在文件中的行。如何循环保存为变量的行而不收到以下错误?

$ MY_VAR=$(cat file)
$ while IFS= read -r line; do
$   echo $line
$   # do stuff
$ done < $(echo "$MY_VAR")
bash: $(echo "$MY_VAR"): ambiguous redirect
Run Code Online (Sandbox Code Playgroud)

bash heredoc while-loop herestring

6
推荐指数
2
解决办法
5669
查看次数