Kir*_*ire 4 text-processing date macos
date
我使用 MacOS,并且格式有变量
3.Jan.2023,
12.Nov.2017,
9.Apr.2022,
...
Run Code Online (Sandbox Code Playgroud)
我需要改变
03.01.2023,
12.11.2017,
09.04.2022,
...
Run Code Online (Sandbox Code Playgroud)
Dig*_*uma 10
MacOSdate
允许您指定转换的输入和输出格式:
for inp in "3.Jan.2023" "12.Nov.2017" "9.Apr.2022"; do
date -j -f "%d.%b.%Y" "$inp" "+%d.%m.%Y"
done
Run Code Online (Sandbox Code Playgroud)
根据strptime()
:
%b
月份,使用区域设置的月份名称;可以指定缩写或全名。%d
该月的第几天[01,31];允许使用前导零,但不是必需的。%m
月份号[01,12];允许使用前导零,但不是必需的。%Y
年份,包括世纪(例如,1988)。输出:
03.01.2023
12.11.2017
09.04.2022
Run Code Online (Sandbox Code Playgroud)
使用任何 awk:
$ awk '
BEGIN { FS=OFS="," }
{
split($1,d,".")
$1 = sprintf("%02d.%02d.%04d", d[1], index(" JanFebMarAprMayJunJulAugSepOctNovDec",d[2])/3, d[3])
print
}
' file
03.01.2023,
12.11.2017,
09.04.2022,
Run Code Online (Sandbox Code Playgroud)
前面有2个空格Jan
。