使用sed替换文件的第一行,并带有特殊字符

时间:2018-12-25 16:06:11

标签: bash sed

我想从bash脚本中编辑文件的第一行。我找到了sed的一种优雅解决方案,但无法使其与特殊字符配合使用。

我想更改第一行,即 @import url(\"file:///home/username/.cache/wal/colors.css\"); 并将username替换为运行脚本的用户的实际名称。 当前的解决方案,报告了一个错误:

NAME=$(whoami)
var="@import url(\"file:///home/$NAME/.cache/wal/colors.css\");" 
sed -i "1s/.*/$var/" file.txt

但这会导致 sed: -e expression #1, char 26: unknown option to个`

每当我尝试echo $var时,特殊字符都会正确转义,但是仍然会发生错误。

0 个答案:

没有答案