bash – 在shell中提取两个行号之间的行
发布时间:2020-12-15 22:27:06 所属栏目:安全 来源:网络整理
导读:如何在 shell中使用sed或任何其他过滤器 假设我在两个变量$line1和$line2中有两个特定的行号,我想在这两行中提取这样的行,就像这样 cat my_file_path | command $line1 $line2 示例如果我的文件是: 1:BBB 2:CCCC 3:DDDD 4:EEEEE 如果我这样做,我的输出
如何在
shell中使用sed或任何其他过滤器
假设我在两个变量$line1和$line2中有两个特定的行号,我想在这两行中提取这样的行,就像这样 cat my_file_path | command $line1 $line2 示例如果我的文件是: 1:BBB 2:CCCC 3:DDDD 4:EEEEE 如果我这样做,我的输出应该是: cat my_file_path | command 1 3 产量 bbb cccc 解决方法
没有测试:
awk -v s="$line1" -v e="$line2" 'NR>s&&NR<e' file 您可以使用> =或< =来控制“包含/排他” 如果你想让你的shell var中的前导/尾随空格安全: awk -v s="$line1" -v e="$line2" 'NR>1*s&&NR<1*e' file (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |