【发布时间】:2018-02-01 22:54:38
【问题描述】:
我无法正确获取此命令的语法...我需要更改文件中的变量,其中该变量包含路径。
sessionFolderName=/session_`date '+%y%m%d'`_`date '+%H%M'`
sed "s/sessionFolder=.*/sessionFolder=/"$sessionFolder /home/pi/scripts/settings/settings.sh > tmp
mv tmp /home/pi/scripts/settings/settings.sh
但是结果是:
sed:-e 表达式 #1,字符 35:`s' 的未知选项
【问题讨论】:
-
(1) 我强烈建议使用
date '+%y%m%d_%H%M'来确保日期和时间都是原子的。 (2) 由于替换包含/,您需要将其转义,我们在 sed 命令中使用不同的分隔符:s#search#replace#而不是s/search/replace/ -
所有方法都以某种方式起作用。逃跑是这里的关键。没明白。谢谢你们的帮助!