如何使用 grep 从文件中提取字符串

问题描述 投票:0回答:2

我正在尝试使用 grep 提取文本文件名 test.txt 中的字符串“apples1” 请注意,字符串 appples1 可以具有不同数量的字符或不同的名称。 grep 如何只提取该字符串,而不考虑其字符数?我不需要 - 之后的内容。

以下是在文件中找到的内容

order = ["apples1-0548-tm00", "testme2-0548-tm01"]

我试过以下命令,但它没有给我任何输出。

cat test.txt |grep 'order' |awk '{print $3}' | tr -d \[:punct:] | cut -c 1-7
regex bash expression
2个回答
1
投票

使用

awk
并将字段分隔符指定为
["
-
。然后提取第二个字段。

awk -F'\\["|-' '/order/ {print $2}' test.txt

0
投票

为此我会选择

sed
。首先删除破折号及其后的所有内容,然后删除双引号之前的所有内容以及双引号本身。

sed 's/-.*// ; s/.*"//' test.txt
apples1
© www.soinside.com 2019 - 2024. All rights reserved.