用于将变量传递到awk cmd的循环

用于将变量传递到awk cmd的循环,awk,Awk,我正在努力使这个循环工作 for i in 5 10 15; do awk -v var=${i} '$2>var' file.txt > par${i}.pos; done 其中file.txt是与中类似的选项卡delim A 2 B 4 EE 5 F2 7 FF 12 C 5 D 13 GAG 15 这样我就可以收集file.txt中2nd col>5在par5.pos中的行,但它不起作用 如par5.pos F2 7 FF 12 D 13 GAG 15 FF 12 D 1

我正在努力使这个循环工作

for i in 5 10 15; do awk -v var=${i} '$2>var' file.txt > par${i}.pos; done
其中file.txt是与中类似的选项卡delim

A 2
B 4
EE 5
F2 7
FF 12
C 5
D 13
GAG 15
这样我就可以收集file.txt中
2nd col>5
par5.pos
中的行,但它不起作用

par5.pos

F2 7
FF 12
D 13
GAG 15
FF 12
D 13
GAG 15
par10.pos

F2 7
FF 12
D 13
GAG 15
FF 12
D 13
GAG 15
这可能适合您(GNU并行和awk):

这可能适合您(GNU并行和awk):


它不工作
是最糟糕的问题描述。想象一下,把你的车带到一个机械师那里,告诉他们它坏了,然后期待着修好它。请参见。在您的问题中添加
file.txt
(无评论)。亲爱的玛扎。从您对问题的描述和您给出的代码来看,我们无法说出问题所在。代码看起来是正确的。我们很难猜测为什么代码没有像您期望的那样工作。请回答您的问题,并添加更多关于您想要实现的目标以及为什么您认为此代码不起作用的信息。一些示例输入和预期输出将是一个良好的开端。目前,我们可以找到各种各样的原因来解释为什么这不起作用。有些是awk相关的(字段分隔符),有些是shell相关的(正确的shell?),甚至是操作系统相关的(win-lin osx)。不用担心,只是添加了文件。是的,有趣的是它可能实际上是正确的。我也会继续站在我这边调查。谢谢!在我的机器上工作。正如其他人已经要求的那样,请问一个真实的问题。
它不起作用
是最糟糕的问题描述。想象一下,把你的车带到一个机械师那里,告诉他们它坏了,然后期待着修好它。请参见。在您的问题中添加
file.txt
(无评论)。亲爱的玛扎。从您对问题的描述和您给出的代码来看,我们无法说出问题所在。代码看起来是正确的。我们很难猜测为什么代码没有像您期望的那样工作。请回答您的问题,并添加更多关于您想要实现的目标以及为什么您认为此代码不起作用的信息。一些示例输入和预期输出将是一个良好的开端。目前,我们可以找到各种各样的原因来解释为什么这不起作用。有些是awk相关的(字段分隔符),有些是shell相关的(正确的shell?),甚至是操作系统相关的(win-lin osx)。不用担心,只是添加了文件。是的,有趣的是它可能实际上是正确的。我也会继续站在我这边调查。谢谢!在我的机器上工作。正如其他人已经要求的那样,请提出一个真正的问题。