用用户名替换文件中的单词

用用户名替换文件中的单词

我正在尝试用当前用户名替换文本文件中的单词。我尝试使用 $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

相关内容