bash可能会使用perl / python:通过正则expression式过滤空格分隔的arg列表

我有一组正则expression式应该在空格分隔列表中的每个项目进行testing。

我希望这些物品能够在其中有空间,将逃脱。 所以:

abc def ghi jkl abc

包含4个项目, abc , def ghi , jkl和abc 。

如果我的正则expression式是

sorting范围Linux

将awk输出保存到variables

pipe道文件在Windows上传到哪里?

转换只包含特定标签的XML

如何根据第六栏的内容来勾选行

b k$ ^g

输出应该是

abc abc

看起来像grep -f可以让我在那里大部分的方式,但我必须处理的方式来处理逃脱的空间,所以我不能只是从空间到新行。

编辑:我想我可以使用sed来做一个逃脱空间意识到replace正常空间换行。 从换行符开始, tr就足够了。 想知道是否有人有更好的想法。

将信号捕获到进程组

如何检查sshd是否在远程机器上运行

以root身份编辑后以root身份保存文件

在sed中添加前导0

从linux shell脚本调用Rscript

我真的不明白你的物品是如何给的。

假装他们来自一个程序之谜的输出,在一行中,例如,

gnIoUrf@somewhere$ mystery abc def ghi jkl abc

你可以(文件myscript ):

#!/bin/bash output=() re=( 'b' 'k$' '^g' ) # array of your regexes read -aa for w in "${a[@]}"; do for r in "${re[@]}"; do if [[ $w =~ $r ]]; then output+=( "${w// /\ }" ) # replace space with backslash-space break fi done done echo "${output[@]}"

为了测试目的,我做了这个:

#!/bin/bash # file mystery echo 'abc def ghi jkl abc'

然后(在chmod +x mystery myscript ):

gnIoUrf@somewhere$ ./mystery abc def ghi jkl abc gnIoUrf@somewhere$ ./mystery | ./myscript abc abc

警惕 。 这将迟早会破,除非神秘总是输出体面的东西!

我认为它可以在没有任何外部效用的情况下进行处理。

首先把你的字符串放在一个数组中:

input=(abc 'def ghi' jkl abc)

然后运行这个for循环来验证你提供的正则表达式的输入:

for i in "${input[@]}"; do for r in 'b' 'k$' '^g'; do [[ "$i" =~ $r ]] && echo $i && break done done

OUTOUT:

abc abc

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....