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

qlfbtfca  于 2023-05-01  发布在  其他
关注(0)|答案(2)|浏览(245)

我尝试使用grep来提取字符串“apples 1”,这是在文本文件名测试中找到的。txt注意字符串appples 1可以是不同数量的字符或不同的名称。grep怎么能只提取出那个字符串,而不管它的字符数是多少?我不需要后面的-。
下面是文件中的内容

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

我尝试了下面的命令,但它没有给予我任何输出。

cat test.txt |grep 'order' |awk '{print $3}' | tr -d \[:punct:] | cut -c 1-7
dbf7pr2w

dbf7pr2w1#

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

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

pgky5nke2#

我会选择sed。首先删除破折号及其后面的所有内容,然后删除所有内容,包括双引号:

sed 's/-.*// ; s/.*"//' test.txt
apples1

相关问题