从文本文件中获取使用两个变量作为开始和结束参数的范围

吉尔斯

我正在尝试使用grep从文本文件中获取特定范围的行;行范围需要通过两个变量来标识。到目前为止,我一直在尝试使用通配符'*'来尝试失败,示例包括:(我可以理解为什么前两个不起作用)

grep "$Var1"*"$Var2" file.txt     
grep "$Var1*$Var2" file.txt
echo "$Var1*$Var2" | grep file.txt
莱斯曼纳

grep不适用于在多行上搜索模式。还有其他更适合此任务的工具:awksed

由于您使用变量来保存模式,因此事情可能会变得棘手。请先尝试使用硬编码模式。如果您没做错,请尝试用变量替换硬编码的模式。


使用awk

awk '/'"$Var1"'/,/'"$Var2"'/' file.txt

带有硬编码模式的同一命令解释了该概念:

awk '/pattern1/,/pattern2/' file.txt

解释:

  • /pattern1/,/pattern2/是一个范围。范围从行匹配开始,到行匹配pattern1结束pattern2
  • 默认情况下,awk仅打印该范围内的行。

了解更多信息awkhttp : //www.catonmat.net/blog/awk-one-liners-explained-part-one/


使用sed

sed -n '/'"$Var1"'/,/'"$Var2"'/ p' file.txt

带有硬编码模式的同一命令解释了该概念:

sed -n '/pattern1/,/pattern2/ p' file.txt

解释:

  • -n sed仅在被告知时才打印行。
  • /pattern1/,/pattern2/是一个范围。范围从行匹配开始,到行匹配pattern1结束pattern2对于该范围内的每一行,将执行以下命令。
  • p在年底告诉sed印刷线条。

了解更多有关的信息sedhttp : //www.catonmat.net/blog/sed-one-liners-explained-part-one/


如果确实需要使用,grep则可以使用-P告诉grep使用perl正则表达式引擎。手册页上有关于该功能的说明:

将模式解释为与Perl兼容的正则表达式(PCRE)。这是高度实验性的,grep -P可能会警告未实现的功能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用python通过两个标识符从一个巨大的文本文件中提取行作为开始和结束

来自分类Dev

bash shell脚本,该脚本从文本文件中获取两列数据,并使用带有两个变量的for循环

来自分类Dev

如何读取文本文件中的两个参数?

来自分类Dev

匹配两个文本文件中的行

来自分类Dev

比较Perl中的两个文本文件

来自分类Dev

合并两个文本文件中的列

来自分类Dev

获取两个文本文件中的唯一行

来自分类Dev

使用python从文本文件中删除两个重复项(原始和重复项)

来自分类Dev

从两个纯文本文件中收集键和值

来自分类Dev

使用awk查找两个文本文件之间的差异和相似性

来自分类Dev

如何使用HTML5和Javascript同时读取两个文本文件

来自分类Dev

如何从文本文件中同时使用Groovy设置两个属性值

来自分类Dev

如何使用Java提取文本文件中两个单词之间的内容?

来自分类Dev

如何将文本文件中的每两个以下单词作为json返回?

来自分类Dev

从文本文件中批量读取数据。循环时存储在两个临时变量中

来自分类Dev

从文本文件的一行中切出两个范围

来自分类Dev

如何将文本文件中的键和值保存到两个单独的数组中?

来自分类Dev

如何在 Bash 中的两个文本文件中按行随机分区?示例 70% 和 30%

来自分类Dev

如何在PHP中使用空格将文本文件中的两个或三个单词匹配

来自分类Dev

逐行缠绕两个文本文件

来自分类Dev

两个文本文件之间的区别

来自分类Dev

Java同时读取两个文本文件

来自分类Dev

C#-比较两个文本文件

来自分类Dev

来自两个文本文件的行的组合

来自分类Dev

打击两个文本文件比较脚本

来自分类Dev

比较两个文本文件

来自分类Dev

Linux结合了两个不同的文本文件

来自分类Dev

Python。比较两个文本文件的内容

来自分类Dev

区分两个大文本文件

Related 相关文章

  1. 1

    使用python通过两个标识符从一个巨大的文本文件中提取行作为开始和结束

  2. 2

    bash shell脚本,该脚本从文本文件中获取两列数据,并使用带有两个变量的for循环

  3. 3

    如何读取文本文件中的两个参数?

  4. 4

    匹配两个文本文件中的行

  5. 5

    比较Perl中的两个文本文件

  6. 6

    合并两个文本文件中的列

  7. 7

    获取两个文本文件中的唯一行

  8. 8

    使用python从文本文件中删除两个重复项(原始和重复项)

  9. 9

    从两个纯文本文件中收集键和值

  10. 10

    使用awk查找两个文本文件之间的差异和相似性

  11. 11

    如何使用HTML5和Javascript同时读取两个文本文件

  12. 12

    如何从文本文件中同时使用Groovy设置两个属性值

  13. 13

    如何使用Java提取文本文件中两个单词之间的内容?

  14. 14

    如何将文本文件中的每两个以下单词作为json返回?

  15. 15

    从文本文件中批量读取数据。循环时存储在两个临时变量中

  16. 16

    从文本文件的一行中切出两个范围

  17. 17

    如何将文本文件中的键和值保存到两个单独的数组中?

  18. 18

    如何在 Bash 中的两个文本文件中按行随机分区?示例 70% 和 30%

  19. 19

    如何在PHP中使用空格将文本文件中的两个或三个单词匹配

  20. 20

    逐行缠绕两个文本文件

  21. 21

    两个文本文件之间的区别

  22. 22

    Java同时读取两个文本文件

  23. 23

    C#-比较两个文本文件

  24. 24

    来自两个文本文件的行的组合

  25. 25

    打击两个文本文件比较脚本

  26. 26

    比较两个文本文件

  27. 27

    Linux结合了两个不同的文本文件

  28. 28

    Python。比较两个文本文件的内容

  29. 29

    区分两个大文本文件

热门标签

归档