我有以下文本文件:
a
a
我试图使用以下命令匹配以a开头的行:pcregrep -M '^a'。它只匹配第一个a,而不匹配第二个。有人知道为什么吗?我使用pcregrep是因为这是一个简单的问题,稍后我将扩展到更复杂的场景。
谢谢!
更新
原因是我使用的是Mac,其中每个换行符都是回车。因此,pcregrep将文件内容(即\ra)解释为一行,而我的regex只返回该行中的第一个a,因为这是表达式中指定的全部内容。使用pcregrep的解决方案是指定换行符类型。“'Newline类型”是指Regex引擎将其解释为指定行尾的字符。因此,如果我们在本例中指定换行符类型为回车
我有许多括号内的模式,我做了一个正则表达式,其中不考虑方括号,只考虑方括号内部/之间的内容,但如果方括号内的案文也包含[]括号,则存在问题。
谢谢!
Regex:(?<inside_value>(?<=\[).*?\[?(?=\]))
例如,
A) [ClusterReceiver[99] ]
B) [first-second-third-8050-exec-a ]
(从上面看,B)工作得很好,但A)没有
为每种情况返回的内容(没有引号):
B) "first-second-third-8050-exec-a "
A)
我正在寻找foo和bar的所有组合,无论哪种顺序,都可以跨多行运行(实际上,不超过5行)。下面是一个测试文件:
$ cat test
foo
a
bar
b
1 foo 2 bar 3
1 foo2bar 3
bar
a
foo
b
1 bar 2 foo 3
1 bar2foo 3
在使用pcregrep**.**时,很难将单个字符与换行符匹配,我可以很好地匹配所有单个字符:
$ pcregrep --color -Mi '(foo.*bar)?(bar.*foo)?' test
test:1 foo 2 bar 3
test:1 foo2bar 3
test
我在找一只pcre (ver )。3.85)兼容的正则表达式,该表达式匹配由三个或多个标题大小写单词组成的字符串,但不匹配以小写字母开头的任何包含单词的字符串。例如:
"Gaius Julius Caesar" should match
"Gaius Caesar" should not match
"Gaius Julius Caesar Rome" should match
"Gaius julius Caesar" should not match
试过
(\b[A-Z]\w+\b){3,}
但没有成功。
有什么暗示吗?
我对脚本的世界很陌生。我的要求是编写一个bash脚本,它将解析‘/usr/sbin/postqueue-p’的输出并获得邮件队列计数(最后一行突出显示的数字)。
<Output of postqueue -p>
postqueue: warning: Mail system is down -- accessing queue directly
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
9F34D414BA0A 304 Wed Aug 3 11:50:01 <sender
在我的文件中,我正在搜索一个从第3行开始到第4行结束的模式,如何在linux中搜索这种模式 具有文本的cat myfile.txt you know who is super hero
where they are
super hero are born by birth,
they are good for us. grep -irls的超级英雄是天生的,他们对我们有好处*
我如何才能grep/awk/sed一个寻找某种模式的文件,并打印整行(如果匹配的行以\结尾,则包括连续行)?
文件foo.txt包含:
something
whatever
thisXXX line \
has a continuation line
blahblah
a \
multipleXXX \
continuation \
line
我应该执行什么来获取(不一定在一行中,不一定要删除多个空格):
thisXXX line has a continuation line
a multipleXXX continuation line
顺便说一句,我使用的是bash和fedora
我试图弄清楚如何跨多行编写命令,因为真正的命令需要一个提示符(4200个字符),所以我尝试了这个示例:
制作了一个包含以下3行的测试文件:
some thing
some
thing
当我执行此grep操作时:
grep "some thing" test
我得到了预期的结果:
some thing
但是当我执行grep时:
grep "some \
thing" test
我得到了意想不到的结果:
some thing
thing
几乎就像它运行grep两次一样,一次是针对“一些”,另一次是针对“事情”。有没有办法正确地使用\将2组合到结果类似于第一个grep
我的文件中有一组code块。我需要从该文件中复制所有的code块并将其写入另一个文件。
例如:
我当前的文件内容是:
CurrentFile.txt
* The method `make:` retrieves the prototype and clones it:
```cpp
制造: partName
^ (partCatalog at: partName) copy
* The concrete factory has a method for adding parts to the catalog.
```cpp
addPart: partTemplate named: part
我使用awk来读取两个字符串"Check“和"Result”之间的文本。我已经在网上找到了很多的变体,但仍然无法得到喜欢的结果。我试过:
awk "/Check:/,/Result:/ {print}" BMSCA209-040-transfer-report.18-Jun-2014.11:18.csv.tmp | more
我也试过:
sed -n "/Check:/,/Result:/p" BMSCA209-040-transfer-report.18-Jun-2014.11:18.csv.tmp | more
但还是得不到我想要的。每次我
我找到了以下代码:
#!/bin/sh
# Get stream URLs for the second episode of the seventh season of futurama:
# kinox.sh futurama 7 2
# for shows with spaces, insert a plus sign instead:
# kinox.sh it+crowd 3 1
# grab the stream by searching for the show on kinox.to, filtering to only show english versions,
我需要打印一个与特定模式匹配的文件列表--一个出现在另外两个字符串之间的字符串。我该怎么做呢。我不想提取文本,只要列出与此模式匹配的文件即可。
我需要一个命令来匹配并列出所有文件名,其中包含字符串PREFETCH的一个实例,该实例发生在这两个字符串之间:advanced_override.begin和advanced_override.end。这些文件都在同一个目录中,所以命令应该搜索当前目录的内容。并列出与指定模式匹配的文件名。
更新:
它一定有这样的东西:advanced_override.begin <lots of text> PREFTECH <lots of ot