linux - shell 'SED' - 使用变量

标签 linux shell

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

所以我这样做了

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

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

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

但没有成功。

感谢您的帮助!

最佳答案

你可以这样做:

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$

关于linux - shell 'SED' - 使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28762041/

相关文章:

Python - 我怎样才能让客户端能够多次连接?

linux - 在 Linux 可执行文件中嵌入图标

linux - 为 Asterisk 安装 pjproject

bash - 使用 Bash 显示进度指示器(微调器)

Linux Shell - 删除名称以 .git 开头的文件夹,它是内部文件夹的一部分

linux - 如何使用 shell 脚本使用来自标准输入(键盘)的信息更新文件?

c - mmap64() 适用于 Red Hat 6.6 但不适用于 Red Hat 7.2

java - 使用 JDBC 连接到 DB2 Linux 数据库

python - 在 Python 中运行 shell 内置命令

linux - 仅显示 tcsh 或 bash 中作为符号链接(symbolic link)的文件和文件夹