贝壳' S' - 使用变量

时间:2015-02-27 09:50:52

标签: linux shell

我正在寻找一种方法来移除/etc/passwd中的条目。

所以我做了这个

sed -i /$user/d /etc/passwd

但看起来我不能在sed中使用变量。我也试过这个:

sed -i "/"$user"/d /etc/passwd"

但没有奏效。

感谢您的帮助!

2 个答案:

答案 0 :(得分:2)

你可以这样做:

sed -i.bak "/$user/d" /etc/passwd

在进行就地操作之前创建备份。

Output:
132$ echo $user
foo
133$ cat test.txt
ajdjfd
lmass/d
lmass/d
foo
dff
134$ sed -i "/$user/d" test.txt
135$ cat test.txt
ajdjfd
lmass/d
lmass/d
dff
136$

答案 1 :(得分:0)

sed -i' / login / s / foo / bar / g' /路径/到/与/文件

此命令用条形替换foo,其中包含单词' login'。 -i将保存文件中的更改