gpt4 book ai didi

Linux 获取最小/最大日期列

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:53:43 26 4
gpt4 key购买 nike

我有一个非常大的文件 (7G),我想从中提取特定日期列的最小值和最大值(它是文件中的第 4 列)。目前,我有这个片段,但我不确定它的效率和环境。我的工作对繁重的处理很敏感,所以如果有人能想出一些性能成本不高的东西,我将不胜感激

MIN=`date --date="$1" +%s`
MAX=`date --date="$2" +%s`

while true ; do
read LINE
if [ "$LINE" = "" ] ; then break ; fi

L_DATE=`echo $LINE | awk '{print $1 " " $2 " " $3 " " $4}'`
L_DATE=`date --date="$L_DATE" +%s`

if (( $MIN > $L_DATE )) ; then continue ; fi
if (( $L_DATE <= $MAX )) ; then echo $LINE ; fi
if (( $L_DATE > $MAX )) ; then break ; fi

完成

最佳答案

为此,我经常使用以下解决方案:

sed 1d textfile | awk '{ if($4 > MAX) { MAX=$4} if(($4 < MIN) || MIN =="") {MIN = $4}} END{print MIN"|"MAX }' FS=";"

sed 1d 将删除 header (如果它不适用于您的情况,请删除该部分)。还要相应地更改 FS(字段分隔符)。

关于Linux 获取最小/最大日期列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24606393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com