gpt4 book ai didi

linux - 如何在shell脚本中更改日期格式

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:19:59 24 4
gpt4 key购买 nike

shell脚本中有两种日期格式:

Format 1. 01-01-2014
Format 2. 2014-01-01

场景:
format 1为目录,format 2为文件名。
我正在尝试使用 shell 脚本解析格式 2 文件,但卡在了某一点。
我通过定义数组中的所有值来管理对具有格式 1 的目录的调用,现在对于每个数组值,我正在以格式 2 解析所需的文件。
现在管理格式 2 的数组。
问题可以解决,如果我可以像在 PHP 中那样进行日期转换。

$date='01-01-2014'
$filetosearch=date('Y-m-d',strtotime($date))

通过执行以上两个步骤,我可以从我在数组中定义的日期格式中获得两种不同的日期格式。所以这样的事情是否发生在 shell 中。

最佳答案

一个解决方案,使用 awk:

date='31-01-2014'
filetosearch=$(echo "$date" | awk -F- '{print $3"-"$2"-"$1}')

并且,使用 sed:

filetosearch=$(echo "$date" | sed 's/\(..\)-\(..\)-\(....\)/\3-\2-\1/')

上面假设 date 是欧洲(日-月-年)格式。如果您的日期是美国格式,则只需稍作更改:

date='01-31-2014' 
filetosearch=$(echo "$date" | awk -F- '{print $3"-"$1"-"$2}')

和:

filetosearch=$(echo "$date" | sed 's/\(..\)-\(..\)-\(....\)/\3-\1-\2/')

关于linux - 如何在shell脚本中更改日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23557906/

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