使用awk筛选文本文件中的数据

使用awk筛选文本文件中的数据,awk,Awk,我试图根据大文本文件中的一列筛选行。下面是一个小例子: 例如: 我想根据第一列进行筛选。如果第1列中的数字小于4000或大于-4000,则保留该行并过滤掉其余部分。以下是预期输出: 预期产出: 我正在使用awk使用以下代码: awk -F "\t" '{ if($1 >= -4000 || $1 <= 4000) { print } }' infile.txt > outfile.txt 使用此代码输出与输入文件相同。你知道怎么修吗?你能试试下面的吗 awk '$1<4

我试图根据大文本文件中的一列筛选行。下面是一个小例子:

例如:

我想根据第一列进行筛选。如果第1列中的数字小于4000或大于-4000,则保留该行并过滤掉其余部分。以下是预期输出:

预期产出:

我正在使用awk使用以下代码:

awk -F "\t" '{ if($1 >= -4000 || $1 <= 4000) { print } }' infile.txt > outfile.txt

使用此代码输出与输入文件相同。你知道怎么修吗?

你能试试下面的吗

awk '$1<4000 && $1>-4000'   Input_file
也如 C、 和用于组合更多基本模式表达式。与大多数语言一样,括号可用于更改 评估顺序- 激动


你能试试下面的吗

awk '$1<4000 && $1>-4000'   Input_file
也如 C、 和用于组合更多基本模式表达式。与大多数语言一样,括号可用于更改 评估顺序- 激动


首先,你应该知道这一点

小于4000或大于-4000

小于4000且大于-4000

它们是不同的

-80000适用于或条件,但不适用于第二个条件。我希望你的意思是对的。对于您的要求,您可以按照您的或要求执行以下操作:

awk '$1>=-4000 || $1<=4000'   file

首先,你应该知道这一点

小于4000或大于-4000

小于4000且大于-4000

它们是不同的

-80000适用于或条件,但不适用于第二个条件。我希望你的意思是对的。对于您的要求,您可以按照您的或要求执行以下操作:

awk '$1>=-4000 || $1<=4000'   file

写这个的另一种方式

$ awk '$1^2 <= 4000^2' input_file

写这个的另一种方式

$ awk '$1^2 <= 4000^2' input_file

由于这两个条件都应该为真,所以您应该设置&&和条件。由于这两个条件都应该为真,所以您应该设置&&和条件。这如何处理>=-4000的情况?由于对称性,换句话说,当您说x在+/-4000范围内时,同样可以说x^2小于4000^2。这种方式可能更简单:x>-4000,意味着absx如何处理>=-4000的情况?由于对称性,换句话说,当你说x在+/-4000范围内时,你也可以说x^2小于4000^2。这样可能更简单:x>-4000,表示abx
$ awk '$1^2 <= 4000^2' input_file