gpt4 book ai didi

linux - 如何从 bash 中的 .csv 文件的第一行获取特定列?

转载 作者:太空宇宙 更新时间:2023-11-04 09:48:49 24 4
gpt4 key购买 nike

我正在编写连接到服务器的 bash 脚本,将数据导出到 .csv 文件,然后运行使用该新创建文件的 jar。问题是,jar 要求文件名包含 .csv 文件中第一行的时间戳列的值。

这是我的 .csv 文件的第一行。在这种情况下,时间戳是位于行尾的 2012-11-01

"####<Nov 1, 2012 12:00:01 AM UTC> <Warning> <AesoRMQAdapter::RabbitMQAdapter> <> <myServer> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1351728001726> <BEA-000000> <DEBUG SEND MESSAGE={"Volume":55.1,"OfferedVolume":54.8,"ArmedVolume":0.0,"Status":false,"BlockNr":0,"Timestamp":"2012-11-01T00:00:01+0000"}> "

我的问题如下。

在检索到 .csv 文件后,我该如何...

  1. 从 .csv 文件的第一行中获取第一个时间戳
  2. 在我将保存 .csv 文件的文件名中使用该时间戳

非常感谢您的帮助!

最佳答案

使用 head -1 从输入文件中只获取一行,然后 grep -o 检索该行中的所有时间戳,然后 head -1 只保留第一个。

$ date=`cat myfile.csv | head -1 | grep -o -e "[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}" | head -1`
$ echo $date
2012-11-01
$ mv myfile.csv myfile.$date.csv

关于linux - 如何从 bash 中的 .csv 文件的第一行获取特定列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13361361/

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