grep显示匹配以及前后的行

如果要指定匹配前后显示的行数,可以使用-B num指定匹配行前几行,以及使用-A num指定匹配行后几行,如:

grep -B 3 -A 2 test demo.txt

如果前后行数一样,可以使用-C num指定前后显示的行数:

grep -C 3 test demo.txt

这里指定了匹配行前后3行。

版权声明:著作权归作者所有。

相关推荐

bash shell把每行行首的数字移动到行末

可以使用sed和GNU的gawk来实现。示例:123adfdfdsf 234dferere 345rererer 移动后结果为:adfdfdsf123 dferere234 rererer345 sed方法:sed -E 's/^([0-9]+)(.*)/\2\1/' source.txt > target.txt gawk方法:gawk&n

Ubuntu在终端显示Git的分支名

在Ubuntu的~/.bashrc添加代码,用于在终端显示git的分支名# 显示git分支 force_color_prompt=yes color_prompt=yes parse_git_branch() { git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/' } if [ "$color_promp

Linux使用grep查找文本所在的所有文件

显示所在文件及匹配到的文本grep -rin 'search' /path/  -r/-R:递归遍历目录-i:忽略大小写-n:显示出现在文件的行号仅显示所在文件grep -ril 'search' /path/ -l:显示所在的文件,而不是匹配到的文本包含/排除目录可以使用--exclude, --include, --excl

Linux批量删除正则匹配的的文件

1、使用find查找匹配的文件find ./ -regex .*\.gz 注意前面的‘.*’,表示查找到的文件带有目录2、使用xargs 传递文件列表参数给rmfind ./ -regex .*\.gz|xargs rm -rf 使用``代替|xargs 管道传递参数rm -rf 

MySQL删除重复的行,保留其中一行

示例有这样一个表CREATE TABLE `tests` (  `id` int(11) DEFAULT NULL,  `name` varchar(20) DEFAULT NULL ) ; 现在需要删除重复name的行,但保留其中一行。方法一:保留id小的一行DELETE n1