我正在尝试用当前用户名替换文本文件中的单词。我尝试使用 $USER 通过“sed”执行此操作,但它实际上一直在文本文件中写入“$USER”而不是我的用户名。
sed -i 's/test/$USER/g' ~/.gtkrc-2.0
有人能帮忙吗?提前谢谢您。
答案1
变量放在单引号中时不会扩展。请改用双引号:
sed -i "s/test/"$USER"/g" ~/.gtkrc-2.0
另外,在修改文件时进行备份也是一个好主意:
sed -i.bak "s/test/"$USER"/g" ~/.gtkrc-2.0
原始文件将保留为~/.gtkrc-2.0.bak
,修改后的文件将是~/.gtkrc-2.0
。