首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

linux下根据字符匹配文件内容来查找文件

前言: 在这家公司比较少接触到linux, 内网测试都是部署在windows上....近期部署了外网linux上, 测试在线上遇到的一些bug需要解决, 一时间忘记了一些命令, 于是打算补一补, 用到了就记一记 这篇记录的是grep命令 通常用到比较多的地方就是用来过滤输出, 如 //查看进程时进行过滤...现在用它来匹配文件内容 实例操作 首先 待查找的文件如下 [cailinfan@game1 common]$ ls common.log common.log.2020.11.03.22...common.log.2020.11.05.22 common.log.2020.11.06.12 当然是以xxx.log.yyyy.mm.dd.HH这种格式命名的了 场景1: 在日志文件中查找出现过改字符串的文件...[cailinfan@game1 common]$ 场景4: 匹配即出现a又有b的字符串的文本行信息 [cailinfan@game1 interface]$ grep -n "1043846373394350080

3.5K30

都说Linux很重要,你会几个Linux命令?来看看这道面试题目。

作者丨五角钱的程序员 图丨pexels 今天继续讲解美团java一面面试题目,Linux怎么搜索文件中的字符串,并把这个字符串所在行和下面一行的内容写到另外一个文件中?...:只匹配整个单词,而不是字符串的一部分(如匹配'magic',而不是'magical'), grep -C number pattern files :匹配的上下文分别显示[number]行, grep...pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行, grep pattern1 files | grep pattern2 :显示匹配 pattern1...'^':指匹配字符在行首, '$':指匹配字符在行尾, [hadoop@hadoop101 opt]$ grep -rn yuan * ?...若不指定任何文件名称,或是给予的文件名为“-”,则grep指令会从标准输入设备读取数据。 END

29210

Linux —vim 编辑器

Linux vim 编辑器 1、vi/vim介绍 Linux下常见的文本编辑器有: emacs pico nano joe jed vi 诸如此类,但我们只需要掌握vi/vim即可 vi编辑器是linux...vi编辑器可以执行输出、删除、查找、替换、块操作等众多文本操作,而且用户可以根据自己的需要对其进行定制,这是其他编辑程序没有的。 vim是vi的增强版,比vi更容易使用。...pattern:从下往上查找匹配的内容 n:从上往下查找匹配到的内容的下一条 N:从下往上查找匹配到的内容的下一条 末行模式下查找并替换:s s命令只能在末行模式下使用 语法:ADDR1,ADDR2...s/pattern/string/gi 1,5 s/user/name/g //表示把第一行到第五行的所有user替换为name 末行模式下显示或取消显示行号: set nu:显示行号 set nonu...:取消显示行号 ----

5.1K20

linux 正则表达式匹配不包含某些字符串的技巧

(点号)就会匹配这些其它字符。这种正则表达式的“查找”也叫做“zero-width-assertions”(零宽度断言),因为它不会捕获任何的字符,只是判断。...在上面的例子里,每个空字符都会检查其前面的字符串是否不是‘hede',如果不是,这.(点号)就是匹配捕捉这个字符。表达式(?!...*匹配字符串"ABhedeCD"的结果false,因为在e3位置,(?!hede)匹配不合格,它之前有"hede"字符串,也就是包含了指定的字符串。 在正则表达式里, ?!...a)来表示我们是否需要匹配某个东西。 所以,有需要不匹配某样内容时,就可以用(?!a)了。比如要匹配不含hello的字符串就可以这样写。 ^(?!.*hello) 这里....*用来表示hello之前可能有其他的字符,为什么还要加^呢,因为如果不加的话,可能匹配到h之后的这个位置上了。 现在就可以解决regex golf上的abba这道题了。

8.5K30

第五章 正则表达式&字符处理

字符 功能 例子 匹配 ^ 指定行的开始 /^linux/ 所有以linux开头的行 $ 指定行的末尾 /linux$/ 所有以linux结束的行 ....匹配一个非换行符的字符 /l…x/ 匹配所有包含l后面3个字符任意,最后为x的行 * 匹配零或多个字符 /*linux/ 匹配所有模板是一个或多个空格后紧跟linux的行 [] 匹配一个指定范围内的字符...[Ll]inux 匹配包含Linuxlinux的行 [^] 匹配一个不再指定范围内的字符 /[^a-egz]tp/ 匹配不再指定a-e及g-z区域内的开头并紧跟tp的字段 元字符 功能 例子 匹配...& 保存字符用来替换其他字符 s/linux/**&**/ &表示搜索字符串,因此linux将变为**linux** /< 指定单词的开始 /\<linux/ 匹配包含linux开头的单词的行 /...> 指定单词的结束 /linux\>/ 匹配包含以linux结尾的单词的行 x\{m\} 重复字符X,M多少次 /o\{5\}/ 匹配包含5个o的行 x\{m,\} 重复字符X,至少M次 /o\{5,\

2.1K20

linux shell:提取正则表达式捕获组(catch group)匹配字符

bash 目前大部分shell(如bash)都提供了正则表达式判断操作符=~,如下就可以对一个字符符判断是否匹配正则表达式: $ [[ "hello world" =~ wor(ld)?...]] && echo match matched 其实基于上面的表达式不仅可以判断是否匹配正则表达,还可以通过上面表达式创建的变量 BASH_REGEX(数组)提取捕获组(catch group),...\ && echo ${BASH_REMATCH[1]} ${BASH_REMATCH[2]} http www.baidu.com {BASH_REMATCH[0]} 即正则表达式的捕获组0(全部字符串....sh.match ,对BASH_REMATCH,引用时必须以${.sh.match}方式引用 {.sh.match[0]} 即正则表达式的捕获组0(全部字符串) {.sh.match[1]} 即正则表达式的捕获组...1,以此类推 zsh MATCH 保存匹配的整个字符串,对应就是bash的BASH_REMATCH[0] match保存捕获组数据的数组(索引从1开始), 通用的实现 根据上面不同shell的实现试可以合成实现一个通用函数来以抹平

4.5K10

Linux基础_vim命令

使用过LINUX操作系统的人应该都知道vim命令可以编写文本,对于没有接触过的同学通过以下介绍就可以轻松学会vim命令的使用方法。...2.vim常用工作参数设定 在命令模式下输入,其表示内容如下: :set nu #显示行号,在命令模式下输入后会在文本中每一行的开头标出行号。...在可视化模式下可以批量的给列添加内容,步骤如下: 1)ctrl+v进入可视模式,通过上下键选中要添加的字符列,如下: 2)按”I”大写的i进入插入模式,并写入字符 3)按键后,选中的列前面就会批量添加上输入的字符.../关键字 n #向下匹配 N #向上匹配 8.插入模式 i ##光标所在位置插入 I ##光标所在行的行首插入 A ##光标所在行行尾插入...a ##光标所在字符的下个字符插入 s ##删除光标所在字符插入 S ##删除光标所在行插入 o ##光标所在行的下一行插入 O

4.9K30

Linux正则表达式

Linux正则表达式 grep与正则表达式简介 文本处理工具中的三剑客--grep、sed、awk grep,grep是根据模式过滤文本,并将符合模式的行显示出来,grep是一组工具集,包括了grep...grep grep是文本搜索工具,根据用户指定的"模式"对目标文本逐行进行匹配检查,打印匹配到的行 * 模式:有正则表达式字符及文本字符编写的过滤条件 * 正则表达式:REGEXP,由一类特殊字符及文本字符编写的模式...,忽略字符大小写 * --color=auto:grep默认情况下是不显示匹配上的字符,所以最好加一个颜色 * -v: 反向选择,也就是说只显示没有被模式匹配到的整行内容 * -o:只显示被模式匹配到的字符串...,而且其后面可以根据指定的匹配次数表示连续的重复的出现root的情况** * 后向引用:引用前面的分组括号中模式匹配到的字符,不是模式本身。...** 其中\1表示:从左侧起,第一个左括号以及与之匹配的右括号之间的模式匹配到的字符 例如:(ab+(xy)*),此时的\1是ab+(xy)*,第一个左侧括号到其结束的右括号,\2是xy undefined

1.9K60

Linux进阶-Day3

Vim 编辑器Vim: Linux自带的文本编辑器Vim 编辑器:三种模式1.1 命令模式:• 用vim FILENAME进入之后的默认模式• 可以“上下左右”移动光标• 剪切、复制与粘贴:x:剪切一个字符...10x:连续剪切10个字符(numberx)dd:剪切所在行10dd:剪切所在行及向下共10行yy:复制光标所在行10yy:复制所在行及下面10行p或P:在当前行的下面/上面进行粘贴1.2 编辑模式:•...-v:反向选择,即输出没有匹配的行-n:显示匹配成功的行所在的行号-r:从目录中查找pattern-e:指定多个匹配模式-f:从指定文件中读取要匹配的 pattern-i:忽略大小写正则表达式:是对字符串操作的一种逻辑公式...换行符之外的任意单个字符? 匹配之前项0次或者一次 \?...匹配1次或者多次 + 匹配0次或者多次sed:流编辑器,一般用来对文本进行增删改查常见参数:-n :禁止显示所有输入内容,只显示经过sed处理的行(常用)-e :直接在命令模式上进行 sed 的动作编辑

8210

linux工具——grep文本处理器

(grep --help提示) option:grep 使用参数 pattern:正则表达式 三、常用参数 -o:只显示符合条件的字符串,每个符合条件的字符串单独显示一行 -P:表示使用兼容perl的正则引擎...(个人超级喜欢用) -r: 递归查找 -i:忽略大小写 -n:显示结果所在行号 -c:统计匹配到的行数 -v:输出不带关键字的行 -w:匹配整个单词 -A(B/C)x:在输出的时候包含结果所在行之后(前...(不)匹配字符的文件名。...grep -ic 'name' tmp.txt -n:显示结果所在行号 grep -in 'name' tmp.txt -o :只显示符合条件的字符串,每个符合条件的字符串单独显示一行 grep...-ino 'name' tmp.txt -A(B/C)x:在输出的时候包含结果所在行之后(前/前后)的指定行数 grep -iA2 'name' tmp.txt -w:匹配整个单词 grep

68240

linux在所有文件中查找某一个字符

这时候中断第一个进程Ctrl-C, --------------------------- linux 如何显示一个文件的某几行(中间几行) 从第3000行开始,显示1000行。...------------------------------------------ 在Linux中echo命令用来在标准输出上显示一段字符,比如: echo "the echo command test...:只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),  grep -C number pattern files :匹配的上下文分别显示[number]行,  grep...pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,  grep pattern1 files | grep pattern2 :显示匹配...'^':指匹配字符在行首,  '$':指匹配字符在行尾,   2,xargs配合grep查找 find -type f -name '*.php'|xargs grep 'GroupRecord

1.7K10

详解linux系统输入输出管理和vim的常用功能

nonu ##取消行号显示 :set mouse=a ##显示鼠标 :set cursorline ##显示行线 ?...注意: 在vim程序中设定的vim工作方式是临时的,在vim关闭后会还源 如果要永久保存vim的工作方式需要编辑(添加或删除)vim的配置文件:/etc/vimrc 2 ) 字符的搜索 /关键字 n向下匹配...N向上匹配 3)字符的管理 y yl ##复制一个字母 y3l ##复制3个字母 yw ##复制一个单词 y3w ##复制3个单词 yy ##复制1行 y3y ##复制3...o ##光标所在行下一行插入 O ##光标所在行的上一行插入 a ##光标所在字符的下一个字符插入 A ##光标所在行的行尾插入 s ##光标所在字符删除并插入 S ##光标所在行删除并插入 ###...##强制退出保存 在对只读文件编写时使用 注意: 编辑的只读文件必须是当前用户的文件 或者当前操作的用户是root 总结 以上所述是小编给大家介绍的linux系统输入输出管理和vim的常用功能,希望对大家有所帮助

83921

程序员最全的Linux命令,不全来找我随时更新!

Hat Enterprise Linux依照开放源代码规定释出的源代码编译而成。...(2). a:在光标所在字符后开始插入。 (3). o:在光标所在行的下面另起一新行插入。 (4). s:删除光标所在的字符并开始插入。 (5)....I:在光标所在行的行首开始插入 如果行首有空格则在空格之后插入。 (6).A:在光标所在你行的行尾开始插入。 (7).O:在光标所在行的上面另起一行开始插入。...2.8.4、查找和替换 /需要匹配的条件:从前往后查找。 /s ?需要匹配的条件:从后往前查找。 ?s n: 下一个匹配字符串(编辑模式)。 N: 上一个匹配字符串(编辑模式)。 g:全局替换。...find 搜索范围 搜索条件:find是在系统当中搜索符合条件的文件名,如果需要匹配,使用通配符匹配,通配符是完全匹配

64820

大数据之脚踏实地学06--Linux中的搜索与Vim

两个最常用的通配符:*(匹配任意字符);?...(匹配单个字符) -size:按文件或目录的大小查找,+表示查询大于指定size的文件或目录;-表示查询小于指定size的文件或目录 -user:根据文件或目录的所有者查找...文件内容子串的搜索命令 ---- 命令名称:grep 英文含义:grep 功能描述:返回文件中搜寻到的子串对应的行 语法:grep [-eEniwv] [指定子串] [源文件] 选项:...-e(regexp):按照正则表达式匹配对应的行内容 -E(extended regexp):按照扩展的正则表达式匹配对应的行内容 -n(number):显示行号...:强制保存退出 -- 针对:wq无法退出的情况 【复制命令】 yy:复制光标所在行 3yy:复制光标及以下的三行 【粘贴命令】 p:在当前行的下方粘贴 P:在当前行的上方粘贴 【删除或剪切命令】 dd:

1.1K30
领券