gpt4 book ai didi

linux - 第一次替换后停止 sed

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

我正在编写一个脚本,我需要在一行中搜索月份,例如 01、02...、12 并将其替换为缩写。但是,虽然我需要搜索所有月份,但我只需要替换我找到的月份编号的第一个实例。例如,如果我们有一行看起来像这样:

05 06 07

我需要 sed 来执行以下操作:

5 月 06 日 07 日

我正在使用的当前命令产生:

五月六月

这是不可取的。这是我正在使用的:

 date=$(echo $line |cut -d , -f 1 | sed 's/-/ /g;s/:00//;s/:/ /g;s/01/Jan/;s/02/Feb/;s/03/Mar/;s/04/April/;s/05/May/;s/06/Jun/;s/07/Jul/;s/08/Aug/;s/09/Sep/;s/10/Oct/;s/11/Nov/;s/12/Dec/')

感谢高级的帮助

最佳答案

使用 gnu 日期

echo "05 06 07" | while read -r mon rest
do
mon=$(date -d "2014-$mon-01" +%b)
echo $mon $rest
done

关于linux - 第一次替换后停止 sed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21716743/

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