gpt4 book ai didi

bash - 使用 Sed 搜索/替换 Bash 脚本中的变量

转载 作者:行者123 更新时间:2023-12-04 19:20:02 24 4
gpt4 key购买 nike

我正在尝试通过使用 Sed 将前几天的日期替换为当前日期来更改文本文件第一行中的日期。

下面是我试图用来完成此任务的 bash 脚本中的代码:

YMD=$(date +%Y%m%d)

ODA=$(date -u +%Y%m%d --date="1 days ago")

mv ${HOMEDIR}/${PATH1}/nws_${VAR}_conus_daily_${ODA}.ctl ${HOMEDIR}/${PATH1}/nws_${VAR}_conus_daily_${YMD}.ctl

sed "s/${ODA}/${YMD}/" ${HOMEDIR}/${PATH1}/nws_${VAR}_conus_daily_${YMD}.ctl

URL1=http://water.weather.gov/${VAR}/p_download_new/${Y}/${M}/${D}/nws_${VAR}_conus_${YMD}.nc

wget -P ${HOMEDIR}/${PATH1}/ -N ${URL1}

文本文件的第一行内容如下:
dset ^grads/data/ahps/nws_precip_conus_20140423.nc

最佳答案

如果你想 sed 改变你的文件,你必须给 -i选项,像这样:

sed -i "s/${ODA}/${YMD}/" ${HOMEDIR}/${PATH1}/nws_${VAR}_conus_daily_${YMD}.ctl

否则 sed只会将更改的文件输出到标准输出。

关于bash - 使用 Sed 搜索/替换 Bash 脚本中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23250871/

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