我有一个包含模式的文本文件。 (一段时间后单引号)和'。 (引用后跟一段时间)。我想从中提取所有的行。'至 '。使用awk或grep。
`lasjdalsjd
ljsdlasdkj.'lsjdlsjd
wqeuoqweui0
90u402394ewlrj
lwejwerj
'.
klfjksldkjfsdlfkj
dslfslfkjdsf
在上面的文字中我想提取
lsjdlsjd
wqeuoqweui0
90u402394ewlrj
lwejwerj
分开。我怎么能这样做?
答案 0 :(得分:0)
使用您提供的样本数据,
awk "/\.'/, /'\./{sub(\".*[.]'\", \"\"); sub(\".*'[.]\", \"\");print}"
答案 1 :(得分:0)
使用sed你可以这样做:
sed -n "/\.'/,/'\./{s/^.*\.'//; s/'\..*$//; p;}" file
答案 2 :(得分:0)
大多数正则表达式库包含多行标志。例如在Perl中的“m”标志:
perl -ne "BEGIN{undef \$/;} print \$1 while (/'(.*?)'/smg)" yourfile
注意我已将此特定搜索编码为非贪婪,因此它还会在您的文件中找到多组“..”字符串。