当前位置: 首页 > 知识库问答 >
问题:

匹配行前显示文件名

任小云
2023-03-14

如何让grep在其输出中的匹配行之前显示文件名?

共有3个答案

季嘉良
2023-03-14

没必要耍花招。

grep --with-filename 'pattern' file

带有行号:

grep -n --with-filename 'pattern' file
史宸
2023-03-14

如果您有< code>-H和< code>-n选项可用(< code>man grep是您的朋友):

$ cat file
foo
bar
foobar

$ grep -H foo file
file:foo
file:foobar

$ grep -Hn foo file
file:1:foo
file:3:foobar

选项:

-H、 --带文件名

打印每个匹配项的文件名。当有多个文件要搜索时,这是默认设置。

-n、 --行号

在其输入文件中以从1开始的行号作为每行输出的前缀。(-n由POSIX指定。)

< code>-H是一个GNU扩展,但是< code>-n是由POSIX指定的

慕容成文
2023-03-14

试试这个小技巧,让< code>grep认为它正在处理多个文件,这样它就会显示文件名:

grep 'pattern' file /dev/null

还要获取行号:

grep -n 'pattern' file /dev/null
 类似资料:
  • 问题内容: 我想在查询上使用模糊匹配,但在结果顶部显示完全匹配。 我已经尝试了以下方法。 由于格式错误的查询错误,此方法不起作用。 有任何想法吗? 问题答案: 我最终没有使用模糊匹配来解决我的问题,而是使用了ngram。 结果正是我想要的。它根据搜索查询中包含的ngram部分构造匹配项。

  • 我尝试为配置文件编写Xtext BNF(已知扩展名为) 例如,我想成功地解析 我的问题是匹配属性值(在“=”右边)。 如果属性与终端匹配(例如),则我当前的语法有效。 我不知道如何概括语法以匹配任何文本(例如)。 我当然需要引入一个新的终端属性:name=ID (':' | '=') value=TEXT ';'?; 问题是:我应该如何定义这个终端? 我试过了 >

  • 问题内容: 我有一个来自数据库的数据。我添加了一个搜索功能,如果在将数据键入到中时单词匹配某些行,则显示行。但是在您键入与任何行数据都不匹配的字符串或单词的那一刻,我要做的是隐藏所有行,并且将仅显示列名。就像匹配IT时一样,仅显示具有用户键入的字符串的行并隐藏其他行。 这是我正在使用的代码: 问题答案: 您要与行过滤器一起使用。您可以看到如何编写DocumentListener。 基本上,侦听器侦

  • 问题内容: 我有一个看起来像这样的文件: 该文件包含以开头和结尾的块。请注意,()之间的行数可以不同。我想在第一行中打印所有带有字符串“ test”的块(例如此处的“ SF:/ home / developer / test / resources / …”)。对于此示例,我想要的输出将是: 我想在 Linux 环境中执行此操作。 我的第一个尝试是使用“ sed”命令执行此操作,但是经过一些研究,

  • 我有一个脚本,它使用 SCP 从 AWS 上的远程 Linux 主机中提取文件。在每晚运行相同的代码大约 6 个月而没有问题后,它今天开始失败,并出现。我在下面的一些更简单的文件名上重现了这个问题: 我用单引号的原因是,我在抓取一个最初名称中带有空格的文件。为了处理这些空间,我已经做了几个月的,但从今天开始,它只接受。所以,我的问题已经解决了,但我仍然很好奇到底发生了什么。 我在谷歌上搜索了错误信

  • 请问在Vue3+Cesium上如何根据后端返回的数据,在地图上面显示图片并在图片的上方或者旁边显示后台返回的数据,类似于这样的