grep 匹配一个空格或者多个空格开头的
时间: 2024-02-19 08:29:52 浏览: 354
可以使用正则表达式来实现这个需求。具体命令如下:
```
grep '^[[:space:]]\+' filename
```
其中,`^` 表示匹配行首,`[[:space:]]` 表示匹配空格、制表符等空白字符,`\+` 表示匹配前面的字符一次或多次。这个命令会匹配以一个或多个空格开头的行,并且打印出所有匹配的行。
相关问题
Linux用awk和grep写出一个命令,该命令要找出最后一项数字长度不是10位数的电话号码
可以使用以下命令来实现:
```
grep -Eo '^[0-9]+( [0-9]+)+' file.txt | awk '{if (length($NF) != 10) print}'
```
其中,`grep -Eo '^[0-9]+( [0-9]+)+' file.txt` 用于匹配文件中以数字开头,后面跟着一或多个由空格分隔的数字的行。然后,`awk '{if (length($NF) != 10) print}'` 用于筛选出最后一项数字长度不为10位数的行,然后打印出整行。`$NF` 表示最后一项。
试分别用 grep 、 sed 和 awk 对某个脚本文件 ifile (比如/ etc / profile )进行如下 操作。 ①显示其中的所有注释行(以#开始的行,或#号前全是白空格开始的行)。②显示去除所有注释行后的内容。 ③显示所有的(去除注释行和空行)有效行。
1. 使用 grep 命令显示注释行:
```bash
grep '^ *\#' ifile # 匹配以零个或多个空格后跟井号的行
```
2. 使用 sed 命令去除注释行:
```bash
sed '/^\s*#/d' ifile # 匹配以零个或多个空格后跟井号的行并删除
```
3. 使用 awk 命令显示有效行:
```bash
awk 'NF && !/^\s*#/' ifile # 匹配非空行且不是以零个或多个空格跟井号开头的行
```
阅读全文