插入 '。'在 grep 正则表达式中的所有字符之间和在管道 grep 中使用
insert '.' between all characters in grep regex and use in piped grep
我想在给定输入字符串中的每个字符之间插入 '.'
,然后将其用作管道中的参数
我正在执行以下操作之一:
tail -f file.txt | grep -a 'R.e.s.u.l.t.'
tail -f file.txt | awk '/R.e.s.u.l.t./'
当
使用额外的 bash
默认函数
从 tail -f
创建的缓冲区接收输入
tail -f file.txt | grep -a -e "$(echo Result | sed 's/./&./g')"
这与单词 Result
作为 sed
的输入相呼应(考虑使用 here-string),它将每个字符替换为自身后跟一个.
,然后将输出用作 grep
的搜索表达式。例如,如果您想用点搜索 -argument
,-e
可以保护您免受不幸。如果字符串在变量中,那么您也可以在其周围使用双引号:
result="Several Words"
tail -f file.txt | grep -a -e "$(echo "$result" | sed 's/./&./g')"
awk 版本:
tail -f file.txt |
awk -v word="Result" '
BEGIN {gsub(/./, "&.", word); sub(/\.$/, "", word)}
[=10=] ~ word
'
我想在给定输入字符串中的每个字符之间插入 '.'
,然后将其用作管道中的参数
我正在执行以下操作之一:
tail -f file.txt | grep -a 'R.e.s.u.l.t.'
tail -f file.txt | awk '/R.e.s.u.l.t./'
当
使用额外的 bash
默认函数
tail -f
创建的缓冲区接收输入
tail -f file.txt | grep -a -e "$(echo Result | sed 's/./&./g')"
这与单词 Result
作为 sed
的输入相呼应(考虑使用 here-string),它将每个字符替换为自身后跟一个.
,然后将输出用作 grep
的搜索表达式。例如,如果您想用点搜索 -argument
,-e
可以保护您免受不幸。如果字符串在变量中,那么您也可以在其周围使用双引号:
result="Several Words"
tail -f file.txt | grep -a -e "$(echo "$result" | sed 's/./&./g')"
awk 版本:
tail -f file.txt |
awk -v word="Result" '
BEGIN {gsub(/./, "&.", word); sub(/\.$/, "", word)}
[=10=] ~ word
'