如何在两种模式之间读取文件Shell

时间:2019-05-15 15:38:03

标签: bash shell unix

您好,我正在尝试在文件仅一行

中读取两种模式

示例:

bla bla bla 带空格的模式1 内容内容内容 带空格的模式2 bla bla bla

我尝试用过

cat file.asc | awk '/pattern 1 with space/,/pattern 2 with space/'  > test.txt

但不起作用

我需要保存两种模式 test.txt:

content
content
content

2 个答案:

答案 0 :(得分:0)

相同的线型匹配需要另一种方法

$ echo "bla bla bla pattern 1 with space content content content pattern 2 with space bla bla bla" |
  sed -E 's/.*pattern 1 with space (.*) pattern 2 with space .*/\1/;s/ /\n/g'

内容 内容 内容

答案 1 :(得分:0)

您的意思是这样的吗?

#!/bin/bash
text="bla bla bla pattern 1 with space content content content pattern 2 with space bla bla bla"
echo "$text" | sed 's/.*pattern 1 with space \(.*\)pattern 2 with space.*/\1/;s/ /\n/g'

输出

content
content
content