#########################################
some text
some text
........
/pattern1/ some text here also in this line
some more text
some more text
/pattern2/ some text last_column/file
some text
some text
.........
/pattern1/
some text
.....
.....
/pattern2/ some text last_column/filed
###########################################
awk、sed、grep什么都可以。
首先是琐碎的:
sed -n '/pattern1/,/pattern2/p' input-file
第二,我会做:
tac input-file |
awk '/pattern2/ && $NF > 10 { p=1} p; /pattern1/{p=0}' |
tac
如果您没有访问tac
的权限(它只是反转输入行),您可以执行以下操作:
awk '/pattern1/{p=1}
p{ b = sprintf( "%s%s\n", b, $0 )}
/pattern2/ { if( $NF > 10 && p ) printf "%s", b; b=""; p=0 }' input-file
我正在尝试创建一个新变量,该变量仅在满足特定条件时才打印一系列列的第一个值。 为了澄清,我的数据库看起来像这样: 我想创建一个变量(main),仅当值不是以C00到C99开头时,才打印第一个var列中的值。如果值确实以该条件开头,那么我想在下一列测试该条件,直到满足条件并打印该值。 因此,对于上表,新创建的变量(main)应如下所示: 我不太确定从哪里开始,但我怀疑这可能涉及突变()和ifelse
我正在尝试使用一个do while循环来找出用户是想将一只狗还是一只猫检查到Java的养狗系统中。其思想是,当提示时输入“dog”或“cat”,任何输入都将导致错误,并且他们将再次被提示输入文件名。 如果输入了“cat”或“dog”,那么将为程序分配等效的文件(dogs.txt或cats.txt),然后系统将运行并将数据加载到程序中。 以下是当前的变量: 以及导致问题的方法: 下面是运行代码时打印
问题内容: 这行一直有效,直到我在第二个字段中留有空格。 有没有办法让awk打印$ 2或以上的所有内容?($ 3,$ 4 ..直到我们没有更多的列了?) 我想我应该补充一点,就是我在Windows环境中使用Cygwin进行此操作。 问题答案: 将打印除第一列以外的所有内容: 将打印除第一列以外的所有列:
当if语句为假时,为什么“无效运算符”会打印?我可以使用elif语句使其工作吗?
我是R的新手,这是我关于堆栈溢出的第一个问题。 我正在努力 要通过引用指定新列,请执行以下操作: 对于每行 使用同一行组中第一行到下一行的值。 这符合一个条件 示例数据: 我想做的是 子集(组)按 对于每行 查找进一步向下的第一行的, 其中,和(找到的行)大于我正在更新的行的 我的预期结果是: 我使用<code>尝试了许多变体。SD,,创建一个新的列,其中包含但实际上没有得到任何结果。非常感谢任何