首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux使用grep打印文件名和前n个字符

在Linux系统中,grep命令用于在文件中搜索指定的字符串。要打印文件名和前n个字符,可以使用head命令结合grep命令。

以下是一个示例命令,它将在当前目录中的所有文件中搜索指定的字符串,并打印包含该字符串的文件名和前n个字符:

代码语言:txt
复制
grep -r --include="*.txt" -Hn "指定字符串" . | awk -F: '{print $1}' | xargs head -n

在这个命令中:

  • -r:递归搜索当前目录及其子目录中的所有文件。
  • --include="*.txt":只搜索扩展名为.txt的文件。
  • -Hn:在结果中包含文件名和匹配行的行号。
  • awk -F: '{print $1}':使用冒号作为分隔符,打印每行的第一个字段,即文件名。
  • xargs head -n:将文件名传递给head命令,打印前n个字符。

您可以将n替换为您想要显示的行数。

云计算相关产品和产品介绍链接地址

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Linux】三剑客 grep、awk、sed 常见用法

如果您有其他想要了解的,欢迎私信联系我~ grep、awk、sed 都是 Linux 命令行工具,通常用于处理文本数据,俗称“Linux 三剑客“。...2、基本格式 grep "模式" 文件名 3、常用选项 -A n # 显示匹配到的「后n行」 -B n # 显示匹配到的「n行」 -C n...# 显示匹配到的「n行」「后n行」 -c # 统计匹配的行数(⚠️ 不是匹配到的个数) -E # 支持扩展正则匹配 -f #...匹配任意一个字符 * 匹配个字符0次或多次 .* 匹配任意长度字符 定位单词的左侧右侧 [ ] 匹配[ ]内任意一个字符 [^ ] 匹配[ ]内字符以外的任意字符 说明 [abc] 可以写作...次 {m,n} 匹配个字符至少m次,至多n次 {m,} 匹配个字符至少m次 {,n} 匹配个字符至多n次 说明 grep -E "good|gold" demo.txt ⬅️➡️

34220

Linux 文本处理三剑客应用

Grep 文本过滤工具 grep 是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来,在Linux系统中是最常用的行匹配提取工具....-A #匹配指定字符的后n个字符 -B #匹配指定字符的n个字符 -C #匹配指定字符的...nn个字符 匹配任意多次字符: 使用*实现匹配个字符出现0次或任意多次(本例则是匹配g字符出现0次或任意多次) [root@localhost ~]# ls blog bloog blooog...~]# ls | grep "123\{4,\}" #个字符3的出现不小于4次 123333 1233333 匹配不小于且不大于次数行: 使用\{n,m}\匹配前面的字符出现.../etc/passwd,并打印2个字符 [root@localhost ~]# cut -c -2 /etc/passwd ro bi da 通过使用 -c 5- 选项过滤/etc/passwd,打印从第

1.2K20

linux常用命令

-d:只打印重复行 -u:只打印不重复行 -D:只打印重复行,并且把所有重复行打印出来 -f N:比较时跳过 N 列 -i:忽略大小写 -s N:比较时跳过 N 个字符 -w N:对每行第 N 个字符以后内容不做比较....*' grep.txt 2.4、输出匹配行的前后N行(会包括匹配行) 使用-A参数输出匹配行的后一行:grep -A 1 "huangxiaoming" grep.txt 使用-B参数输出匹配行的一行...:grep -B 1 "huangxiaoming" grep.txt 使用-C参数输出匹配行的前后各一行:grep -C 1 "huangxiaoming" grep.txt 3、正则表达(点代表任意一个字符...,在shell脚本Makefile中作为过滤一使用非常普遍,也就是把一个程序的输出引入sed的输入,经过一系列编辑命令转换成为另一种格式输出。...'s/^hello/hi/p' huangbo.txt ## (-n)选项p标志一起使用表示只打印那些发生替换的行。

2.2K10

软件测试测试开发|一文详解Linux grep命令

简介grep命令是最常用的Linux命令之一,用于对文件和文本执行重复搜索的工具,功能非常强大,也是我们必须学习掌握的Linux三剑客之一,本文就给大家介绍一下grep命令的使用。...#tigaffpubg14:#theshyrookie16:i believe i can fly"*"符号*表示找出个字符0次或一次以上,命令如下:$ grep "i*" test.txt -n1...+号+号表示匹配个字符1一次或多次,必须使用grep -E扩展正则,命令如下:$ grep -E "i+" test.txt -n3:I like Linux4:I like python7:mia...符匹配个字符0次或1次,命令使用如下:$ grep -E "li?...e" test.txt -n16:i believe i can fly{n,m}匹配次数{n,m}:匹配个字符至少n次, 最多m次{n,}: 匹配个字符至少n次, 没有上限{,m}: 匹配个字符最多

22110

Linux学习笔记之grep命令使用正则表达式

.: 匹配任意单个字符 []: 匹配范围内的任意单个字符 [^]: 匹配范围外的任意单个字符 [:space:]: 空格 [:upper:]: 大写字母 [:lower:]: 小写字母...: 匹配其字符0或1次,即至多一次 \+: 匹配其字符1次或多次,即至少一次 \{m\}: 匹配其字符m次 \{m,n\}: 匹配其字符至少m次,至多n次 \{0,n\}: 匹配其字符至多...: 匹配其字符0或1次,即至多一次 +: 匹配其字符1次或多次,即至少一次 {m}: 匹配其字符m次 {m,n}: 匹配其字符至少m次,至多n次 {0,n}: 匹配其字符至多n次...1 \2 ... 5、或: |: |左边的整体或上右边的整体; C|cat: 表示C或cat (c|C)at: 表示cat或Cat 0x04 正则表达式的使用grep使用...正则表示一般一些其他的命令一块使用,只要该命令支持正则表达式的引擎,那么就可以使用正则表达式;下面介绍的grep命令就是一个行处理文本工具,其配合正则表达式的使用,大大提高了文本处理的效率。

1.5K20

网友来稿:何为正则?一正则天下,一文带你看尽精华。

正则表达式是一种描述一组字符串的模式,类似数字表达式,通过各种操作符组成更小 的表达式 为什么使用正则表达式呢?linux运维工作,大量过滤日志工作。 简单,高效。...ls * 通配符 但现在学的是Linux中的正则表达式,最常应用正则表达式的命令是 grep(egrep),sed,awk。...一般只有三剑客支持,通配符用来找:文件名,普通命令都支持 正则表达式使用注意事项 1、linux正则表达式以行为单位处理字符串 2、便于区别过滤出来的字符串,一定配合grep/egrep命令学习。...重复个字符一次或一次以上,个字符连续一个或多个,把连续的文本/ 字符取出 ?...grep -E 强制让grep直接认识正则符号,不需要再进行转义 egrep 等效grep -E 天生就能认识正则符号 我们平时备份可以通过cp 文件名{,.bak}的形式进行,避免再打一次文件名 sed

60200

linux中最为常用的三大文本(grep,sed,awk)处理工具

-f 指定sed脚本的文件名 如果命令操作比较多的时候就会比较麻烦,这时候把多个子命令操作写入脚本文件,然后使用 -f 选项来指定该脚本 -n 取消默认的输出 默认情况下,sed 会在所有的脚本指定执行完毕后.../p’ test 打印匹配到 hani 的行,类似grep sed -n ‘/hani/!...-A  n:显示匹配到的字符串所在的行及其后n行,after   -B  n:显示匹配到的字符串所在的行及其n行,before   -C  n:显示匹配到的字符串所在的行及其前后各n行,context...grep linuxtechi /etc/passwd /etc/shadow /etc/gshadow -例3 使用-l参数列出包含指定模式的文件的文件名。...-例14 输出匹配指定模式行的或者后面N行 a)使用-B参数输出匹配行的4行 root@Linux-world:~# grep -B 4 "games" /etc/passwd b)使用-A参数输出匹配行的后

6K10

【精通Linux系列】inux核心数据处理查找命令之find,cut,awk, sed命令用法

在读取所有行内容就开始执行,一般用来初始化操作 处理海量数据之sed命令 sed语法:sed [选项] [动作] 文件名 d #删除 a #在行的下面插入新的内容 i #在行的上面插入新的内容 c #...搜索:在文件中搜索内容(要精准匹配建议使用grep命令) linux必须掌握的核心实用命令 linux搜索神器find命令高级用法 简介:详细讲解find命令的使用 linux的最底层级别是 / 目录..."文件系统使用率:"} {print $5}' df -h |grep -v 'Filesystem' | awk 'BEGIN {printf "文件系统使用情况:\n \n"} {printf $1...sed命令 简介:介绍sed命令的基本使用 sed的应用场景:主要对数据进行处理(选取,新增,替换,删除,搜索) sed语法:sed [选项] [动作] 文件名 常见的选项与参数: -n #把匹配到的行输出打印到屏幕...p #以行为单位进行打印,通常与-n一起使用 df -h | sed -n '2p' d #删除 df -h | sed '2d' 删除上面的第二行,删除的只是输出的数据,原本系统的数据是不会删除的

1.3K10

搞定Linux Shell文本处理工具,看完这篇集锦就够了

下面我介绍Linux使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子参数都是最常用最为实用的.../commands.sh {} \; -print的定界符 默认使用'\n'作为文件的定界符; -print0 使用'\0'作为文件的定界符,这样就可以搜索包含空格的文件; 2、grep 文本搜索 grep...-n 打印匹配的行号 -i 搜索时忽略大小写 -l 只打印文件名 在多级目录中对文本递归搜索(程序员搜代码的最爱): grep "class" ....-R -n 匹配多个模式 grep -e "class" -e "vitural" file grep输出以\0作为结尾符的文件名:(-z) grep "test" file* -lZ| xargs...打印第一到5个字符 cut -c-2 file //打印2个字符 8、paste 按列拼接文本 将两个文本按列拼接到一起; cat file112cat file2 colin book paste

6.3K41

Linux 基础命令(收藏大全)

lib 存放必要 的运行库 /mnt 存放临时的映射文件系统,通常用来挂载使用 /proc 存放存储进程系统信息 /root 超级用户的主目录 /sbin 存放系统管理程序 /tmp 存放临时文件 /...) 使用date查看过去/将来的时间 1....> 显示文件N个字节数里的内容 -q 不输出文件头的内容 -n 指定所显示的行数 -v 输出文件头的内容 示例: tail -n 15 test.file ------------- 命令:...-C:打印出匹配的上下文(上N行,下N行)的多少行 -l:列出匹配的文件名 -L:列出不匹配的文件名 -n打印包含匹配项的行行标 -w:仅匹配指定的单词而非关键字 -e:索引匹配字串 -r:递归查询...打印匹配”test”关键字的上下文各1行 grep -C 1“test” grepcmd.txt 4. 打印匹配test关键的行并显示行号 grep -n “test” grepcmd.txt 5.

2.1K30

Linux 基础命令(收藏大全)

lib 存放必要 的运行库 /mnt 存放临时的映射文件系统,通常用来挂载使用 /proc 存放存储进程系统信息 /root 超级用户的主目录 /sbin 存放系统管理程序 /tmp 存放临时文件 /...) 使用date查看过去/将来的时间 1....> 显示文件N个字节数里的内容 -q 不输出文件头的内容 -n 指定所显示的行数 -v 输出文件头的内容 示例: tail -n 15 test.file ------------- 命令:...-C:打印出匹配的上下文(上N行,下N行)的多少行 -l:列出匹配的文件名 -L:列出不匹配的文件名 -n打印包含匹配项的行行标 -w:仅匹配指定的单词而非关键字 -e:索引匹配字串 -r:递归查询...打印匹配”test”关键字的上下文各1行 grep -C 1“test” grepcmd.txt 4. 打印匹配test关键的行并显示行号 grep -n “test” grepcmd.txt 5.

1.9K40

awk-grep-sed简单使用总结(正则表达式的应用)

linux下#\n\n用来匹配空白行(windows下使用\r\n\r\n 回车换行) #\d  匹配任意一个数字字符(等价于[0-9]) #\D  匹配任意一个非数字字符(等价于[^0-9])...想要匹配零个或者多个字符可以使用* #\w+[\w.]*@[\w.]+\.\w+  完整的邮箱地址(因为第一个字符不能为.啊) "+""."...匹配个字符或者表达式 #?=?<=匹配前面或者后面的文本。 回朔引用条件只在前面的子表达式搜索取得成功的情况下才允许使用一个表达式。 #(\()?\d{3}(?...\d{5}匹配5个数字,(-\d{4})?匹配一个连字符后四位数字(必须一起出现或者不出现) #\d{5}(?(?=-)-\d{4})  向前查找,找到"-"一起打印-\d{4}或者不打印(?...一般动作为print 注意:一般使用awk,sed,grep,cut等可以在后面使用tee命令保存哦 awk打印BEGINEND模式 # netstat -antlp | grep LISTEN |

2.2K90

Linux 基础命令(收藏大全)

lib 存放必要 的运行库 /mnt 存放临时的映射文件系统,通常用来挂载使用 /proc 存放存储进程系统信息 /root 超级用户的主目录 /sbin 存放系统管理程序 /tmp 存放临时文件 /...) 使用date查看过去/将来的时间 1....> 显示文件N个字节数里的内容 -q 不输出文件头的内容 -n 指定所显示的行数 -v 输出文件头的内容 示例: tail -n 15 test.file ------------- 命令:...-C:打印出匹配的上下文(上N行,下N行)的多少行 -l:列出匹配的文件名 -L:列出不匹配的文件名 -n打印包含匹配项的行行标 -w:仅匹配指定的单词而非关键字 -e:索引匹配字串 -r:递归查询...打印匹配”test”关键字的上下文各1行 grep -C 1“test” grepcmd.txt 4. 打印匹配test关键的行并显示行号 grep -n “test” grepcmd.txt 5.

1.2K30

Linux文本处理详细教程

文本处理 本节将介绍Linux使用Shell处理文本时最常用的工具: find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子参数都是常用的;...“text” filename -n 打印匹配的行号 -i 搜索时忽略大小写 -l 只打印文件名 在多级目录中对文本递归搜索(程序员搜代码的最爱): grep "class" ....-R -n 匹配多个模式: grep -e "class" -e "vitural" file grep输出以0作为结尾符的文件名(-z): grep "test" file* -lZ| xargs -...//打印第一到5个字符 cut -c-2 file //打印2个字符 截取文本的第5到第7列 $echo string | cut -c5-7 1.8. paste 按列拼接文本 将两个文本按列拼接到一起...的打印出来 awk '/linux/' #包含linux文本的行(可以用正则表达式来指定,超级强大) awk '!

4.3K20

linux查询日志命令总结

(pattern),然后从该字串之后开始显示 10) num 从第 num 行开始显示 应用 如果我们查找的日志很多,打印在屏幕上不方便查看, 使用moreless命令, 如: cat -n test.log...默认情况区分大小写, grep -l pattern files :只列出匹配的文件名grep -L pattern files :列出不匹配的文件名grep -w pattern files...4)more joint.log | grep -A 5 ‘60007746’ #打印匹配行的后5行 5)more joint.log | grep -B 5 ‘60007746’ #打印匹配行的5...行 6)cat -n umltech-scan |grep ‘reqBody’ #在日志文件中查找某个字符串:cat -n 日志文件 |grep ‘查找内容’,如果内容太多可以通过后面加more,通过空格查看下一页...man ag:使用方法请查看帮助: 【总结】 熟悉常用的Linux命令也是我们必须要掌握的一项技能,这样在查找问题过程中也能更加高效速度。

16K30

Shell三大利器之grep

line)作为一款非常方便且强大的文本搜索工具,其能使用正则表达式搜索文本,并把匹配的行打印出来,其使用对象为 Linux 系统的所有用户,使得我们日常操作更加方便简单。...-l 列出文件内容符合指定的范本样式的文件名称。 -L 列出文件内容不符合指定的范本样式的文件名称。 -n 在显示符合范本样式的那一列之前,标示出该列的编号。 -q 不显示任何信息。...file_name | grep "text" -n #多个文件 grep "text" -n file_1 file_2 打印匹配字符串开始位置的偏移量: echo gun is not unix...),xargs -0 读取输入并用0值字节终结符分隔文件名,然后删除匹配文件,-Z通常-l结合使用。...10 | grep "5" -B 3 2 3 4 5 #显示匹配某个结果的三行后三行,使用 -C 选项: seq 10 | grep "5" -C 3 2 3 4 5 6 7 8 #如果匹配结果有多个

1.2K00

Linux Shell 文本处理工具集锦

本文将介绍Linux使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uniq、tr、cut、paste、wc、sed、awk; 提供的例子参数都是最常用最为实用的;.../commands.sh {} \; -print的定界符 默认使用’\n’作为文件的定界符; -print0 使用’\0’作为文件的定界符,这样就可以搜索包含空格的文件; grep 文本搜索 grep...-n 打印匹配的行号 -i 搜索时忽略大小写 -l 只打印文件名 在多级目录中对文本递归搜索(程序员搜代码的最爱): grep "class" ....-R -n 匹配多个模式 grep -e "class" -e "vitural" file grep输出以\0作为结尾符的文件名:(-z) grep "test" file* -lZ| xargs -...5个字符 cut -c-2 file //打印2个字符 paste 按列拼接文本 将两个文本按列拼接到一起; cat file1 1 2 cat file2 colin book paste file1

3.2K70

Linux 常用命令 vim常用命令 速查

除了可以使用top命令查看内存使用情况之外,还可以使用下面的命令: ps aux | sort +5n 文件类 grep 概要 **grep**全称是Global Regular Expression...-h:查询多文件时不显示文件名。 -l:查询多文件时只输出包含匹配字符的文件名。 -n:显示匹配行及行号。 -s:不显示不存在或无匹配文本的错误信息。 -v:显示不包含匹配文本的所有行。...如果一个字符串可以用某个正则表达式来描述,我们就说这个字符该正则表达式匹配(Match)。这DOS中用户可以使用通配符 “*”代表任意字符类似。...-W help or --help, -W usage or --usage 打印全部awk选项每个选项的简短说明。...d0: 删除光标所在行的第一个字符到当前光标的个字符的一串字符 D: 删除从当前光标所在字符到当前光标所在行的最后一个字符的一串字符 dd: 删除光标所在行的所有字符/剪切当前行 dw: 删除从光标处字符开始的第一个单词

3.6K31
领券