我正在使用grep来匹配文件中的字符串.下面是一个示例文件:

example one,
example two null,
example three,
example four null,

grep -i null myfile.txt次返回

example two null,
example four null,

如何返回匹配的行及其行号,如下所示:

  example two null, - Line number : 2
  example four null, - Line number : 4
  Total null count : 2

我知道-c返回所有匹配的行,但我不知道如何正确设置格式以在前面添加total null count行,也不知道如何添加行号.

我能做什么?

推荐答案

-n返回行号.

-i代表忽略情况.仅在不需要大小写匹配时使用

$ grep -in null myfile.txt

2:example two null,
4:example four null,

awk组合,在匹配后打印行号:

$ grep -in null myfile.txt | awk -F: '{print $2" - Line number : "$1}'

example two null, - Line number : 2
example four null, - Line number : 4

使用命令替换打印总空计数:

$ echo "Total null count :" $(grep -ic null myfile.txt)

Total null count : 2

Linux相关问答推荐

使用sed或awk映射自定义和任意函数

如何在带模式的文件频繁更改的管道中使用grep-f带模式的文件?

在查找命令中使用 printf

奇怪的 Bash 脚本行为

使用awk命令将以:分隔的两个文件合并的方法

如何使用 gdb 调试堆栈分段错误?

awk/sed 命令仅在模式 2 匹配时打印模式 1

如何为命令的所有选项启用无密码 sudo?

使用 awk 将 csv 拆分为带有标题的多个文件

tmux:挂起不加载,不响应任何选项命令

如何克隆 OpenLDAP 数据库

在 Linux/POSIX 系统上获取用户全名的最简单方法是什么?

如何告诉 CMake 将构建文件放在哪里?

为什么 JVM 报告的已提交内存比 linux 进程驻留集大小更多?

在 Emacs 中匹配括号的命令是什么?

有什么方法可以在linux中保留但不提交内存?

在文件夹中的 gzip 文件中查找字符串

Anaconda 安装后,conda 命令失败并显示ImportError: no module named conda.cli

将默认 Python 版本从 2.4 更改为 2.6

Linux 的文本编辑器(除了 Vi)?