我试图在其中一个值如下的文件之一中增加年份:
$$END_DATE=01/01/2020
$$END_DATE=01/01/2020
我需要通过使用参数来增加年份。我正在尝试以下操作,但出现错误。有人可以帮我吗?
END_DATE1="$(grep END_DATE ABC.txt)"
echo "${END_DATE1}"
END_DATE=${END_DATE1} +%d/%m/%Y -d "${END_DATE1} +${END_DATE1} year"
echo "${END_DATE1}"|sed 's/\${END_DATE1 }/\${END_DATE}/'
答案 0 :(得分:0)
怎么样
$ awk -F/ -v OFS=/ '/END_DATE/ {$NF++} 1' file
$$END_DATE=01/01/2021
$$END_DATE=01/01/2021
1
是awk习惯用法,用于打印每行。有关更多信息,请参见https://stackoverflow.com/tags/awk/info
您遇到的问题之一是,首先找到所有带有结束日期的行,然后再尝试操作该数据。您会注意到END_DATE1
包含多行字符串,而date -d
会遇到问题。
此外,请勿使用ALLCAPS变量名,而应保留它们由Shell保留。