用linux命令 1、用sed找出/etc/passwd中root开头的 2、/etc/fstab 把非#的前面加上# 3、将文件/etc/containerd/config.toml中 SystemdCgroup = false改成SystemdCgroup = true 4、将/etc/calico.yaml中出现的docker.io全部删除
时间: 2023-10-25 13:06:33 浏览: 57
回答如下:
1. 使用 sed 命令找出 /etc/passwd 中 root 开头的行:
```
sed -n '/^root/p' /etc/passwd
```
2. 在 /etc/fstab 中,把非 # 开头的行前面加上 #:
```
sed -i '/^[^#]/s/^/#/' /etc/fstab
```
3. 将 /etc/containerd/config.toml 文件中的 SystemdCgroup = false 改成 SystemdCgroup = true:
```
sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
```
4. 将 /etc/calico.yaml 中出现的 docker.io 全部删除:
```
sed -i 's/docker.io//g' /etc/calico.yaml
```
相关问题
用sed命令打印/etc/passwd第1到第3行在屏幕输出
可以使用 `sed` 命令的行范围功能来实现打印 `/etc/passwd` 文件的第1到第3行。下面是具体的命令:
```
sed -n '1,3p' /etc/passwd
```
这个命令中,`-n` 参数表示关闭默认输出,`1,3p` 表示打印第1到第3行。最后一个参数 `/etc/passwd` 表示要操作的文件路径。运行这个命令后,会将 `/etc/passwd` 文件的第1到第3行打印在屏幕上。
注意,`-n` 参数是可选的,如果省略了这个参数,则命令会将所有行都输出,而不仅仅是第1到第3行。
使用sed流编辑器,将/etc/passwd文件中包含了root行的字符个数统计出来
可以使用以下命令来实现:
```
sed -n '/root/ s/[^[:alnum:]]//gp' /etc/passwd | wc -c
```
解释:
- `-n` 参数表示只输出匹配到的行,不输出其他行。
- `/root/` 表示匹配包含 "root" 的行。
- `s/[^[:alnum:]]//g` 表示删除所有非字母数字字符,只留下字母数字字符。
- `p` 表示打印匹配到的行。
- `wc -c` 统计字符数。
这个命令会将 `/etc/passwd` 文件中包含 "root" 的行中的所有字母数字字符都删除,只留下空格和冒号等分隔符,然后再统计字符数,即为包含了 "root" 行的字符数。