第一次比赛后如何使ack停止?

时间:2019-05-22 17:45:34

标签: grep ack

我正在尝试在文件中查找模式。看起来像这样:

aaa;
bbb;

如果我尝试以下操作,它不会停止:

cat test | tr -d '\n' | ack -1 'aa.*;'
aaa;bbb;

有没有办法以aaa;结尾?

2 个答案:

答案 0 :(得分:1)

您的正则表达式为 greedy ,因此它包含第二个a之后到最后一个分号的所有文本。如果您将模式优化为不贪婪(带有问号)并使用-o选项,您将获得期望的结果:

$cat test.txt | tr -d '\n' | ack -o 'aa.*?;' 
aaa;

查看更多食谱/详细信息here

答案 1 :(得分:0)

这就是窍门:

 // Create a File containing any metadata changes.
 File metadata = new File().setName(name);

 // Convert content to an AbstractInputStreamContent instance.
 ByteArrayContent contentStream = ByteArrayContent.fromString("text/plain", content);

// Update the metadata and contents.
mDriveService.files().update(fileId, metadata, contentStream).execute();