Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 删除最后一个字段的基于整行的值_Linux_Bash_Shell - Fatal编程技术网

Linux 删除最后一个字段的基于整行的值

Linux 删除最后一个字段的基于整行的值,linux,bash,shell,Linux,Bash,Shell,如果在最后一个字段中找到64512到65535之间的任何值,则整行将被删除: 样本数据: 20170101|1.0.136.0/24|2497 38040 28969 20170101|1.0.137.0/24|2497 38040 33423 20170101|1.0.138.0/24|2497 38040 64603 20170101|1.0.139.0/24|2497 38040 10136 20170101|1.0.142.0/24|2497 38040 65222 20170101|1

如果在最后一个字段中找到64512到65535之间的任何值,则整行将被删除:

样本数据:

20170101|1.0.136.0/24|2497 38040 28969
20170101|1.0.137.0/24|2497 38040 33423
20170101|1.0.138.0/24|2497 38040 64603
20170101|1.0.139.0/24|2497 38040 10136
20170101|1.0.142.0/24|2497 38040 65222
20170101|1.0.144.0/24|2497 38040 65535
预期产出:

20170101|1.0.136.0/24|2497 38040 28969
20170101|1.0.137.0/24|2497 38040 33423
20170101|1.0.139.0/24|2497 38040 10136

有什么办法吗?

不清楚“最后一个字段”是什么意思。此数据是否由
|
分隔,使第一行的最后一个字段成为字符串
24973804028969
?或者,文本是否由空格分隔,最后一个字段仅为
28969
?后者更容易做到:

awk '$NF<64512 || $NF > 65535' input-file
awk'$NF 65535'输入文件

如果是前者,您需要更加努力。

尝试:如果您有相同的输入文件,如示例所示,那么下面的内容也可以帮助您完成相同的任务

while read a b c
do
    if [[ $c > 64512 && $c < 65535 ]]
    then
        echo $a $b $c
    fi
done < "Input_file"
在读取a b c时
做
如果[[$c>64512&&$c<65535]]
然后
回声$a$b$c
fi
完成<“输入文件”
awk'$4<64512&&$4>65535'sample.txt

$4-需要检查大于64512小于65535的第四个字段,不打印这些行。

awk'$3是的,有很多方法可以做到这一点。你尝试过什么?对我来说很有效,我指的是用空格分隔的文本,谢谢。虽然这段代码可以回答这个问题,但提供关于如何和/或为什么解决问题的附加上下文将提高答案的长期价值。
awk '$3<33424' file

20170101|1.0.136.0/24|2497 38040 28969
20170101|1.0.137.0/24|2497 38040 33423
20170101|1.0.139.0/24|2497 38040 10136
awk '$3<33424' file

20170101|1.0.136.0/24|2497 38040 28969
20170101|1.0.137.0/24|2497 38040 33423
20170101|1.0.139.0/24|2497 38040 10136