5. 使用sed流编辑器,将/etc/passwd文件中包含了root行的字符个数统计出来
时间: 2023-07-15 20:14:54 浏览: 52
可以使用下面的命令来实现:
```
sed -n '/^root:/p' /etc/passwd | wc -c
```
解释一下这个命令:
- `sed -n '/^root:/p' /etc/passwd`:使用sed命令匹配以"root:"开头的行,并输出这些行。其中,`^`表示以该模式开头。
- `wc -c`:统计字符数,包括换行符。
因此,上述命令会输出/etc/passwd文件中包含了root行的字符数。
相关问题
使用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" 行的字符数。
4. 使用sed流编辑器,显示/etc/passwd文件中,将所有行逆序显示输出
可以使用以下命令来实现:
```
sudo sed -n '1!G;h;$p' /etc/passwd
```
解释:
- `sudo`:使用管理员权限运行命令,因为 `/etc/passwd` 是只有管理员才有读取权限的文件。
- `sed`:流编辑器。
- `-n`:不输出模式空间的内容。
- `1!G`:将除第一行以外的所有行追加到保持空间(hold space)的内容之后,并在两者之间插入一个换行符。
- `h`:将模式空间的内容复制到保持空间中。
- `$p`:在处理完最后一行后,将保持空间的内容输出。
因此,以上命令会将 `/etc/passwd` 文件的所有行逆序显示输出。