grep

正则表达式学习笔记

笑着哭i 提交于 2020-02-06 23:55:38
1. 引言 以前我们用 grep 在一个文件中找出包含某些字符串的行,比如在头文件中找出一个宏定义。其实 grep 还可以找出 符合某个模式(Pattern) 的一类字符串。例如找出所有符合 xxxxx@xxxx.xxx 模式的字符串(也就是email地址),要求x字符可以是字母、数字、下划线、小数点或减号,email地址的每一部分可以有一个或多个x字符,例如 abc.d@ef.com 、 1_2@987-6.54 ,当然符合这个模式的不全是合法的email地址,但至少可以做一次初步筛选,筛掉 a.b 、 c@d 等肯定不是email地址的字符串。再比如,找出所有符合 yyy.yyy.yyy.yyy 模式的字符串(也就是IP地址),要求y是0-9的数字,IP地址的每一部分可以有1-3个y字符。 如果要用 grep 查找一个模式,如何表示这个模式,这一类字符串,而不是一个特定的字符串呢?从这两个简单的例子可以看出,要表示一个模式至少应该包含以下信息: 字符类(Character Class) :如上例的x和y,它们在模式中表示一个字符,但是取值范围是一类字符中的任意一个。 数量限定符(Quantifier) : 邮件地址的每一部分可以有 一个或多个x字符,IP地址的每一部分可以有 1-3个y字符 各种字符类以及普通字符之间的位置关系:例如邮件地址分三部分,用普通字符 @ 和 . 隔开

Linux常用命令大全(超实用)

我们两清 提交于 2020-02-06 17:08:04
开关机 sync :把内存中的数据写到磁盘中(关机、重启前都需先执行sync) shutdown -rnow 或 reboot :立刻重启 shutdown -hnow :立刻关机 shutdown -h 19:00 :预定时间关闭系统(晚上7点关机,如果现在超过8点则第二天) shutdown -h +10 :预定时间关闭系统(10分钟后关机) shutdown -c :取消按预定时间关闭系统 init 0 : 关闭系统 telinit 0 : 关闭系统 logout : 注销 系统信息 arch : 显示机器的处理器架构 uname -m : 显示机器的处理器架构 uname -r : 显示正在使用的内核版本 dmidecode -q : 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda : 罗列一个磁盘的架构特性 hdparm -tT /dev/sda : 在磁盘上执行测试性读取操作 cat /proc/cpuinfo : 显示CPU info的信息 cat /proc/interrupts : 显示中断 cat /proc/meminfo : 校验内存使用 cat /proc/swaps : 显示哪些swap被使用 cat /proc/version : 显示内核的版本 cat /proc/net/dev : 显示网络适配器及统计

Print line with match and line above that matches another pattern

佐手、 提交于 2020-02-06 08:01:07
问题 I have a file with certain IDs. ID.txt aaa bbb ccc I have a another file like this File.txt Query: ABC1 aaa abc bbb ccc Query: CAB1 bbb ccc abc Query: CBB1 ass aaa bbc **Expected output:** Query: ABC1 aaa bbb ccc Query: CAB1 bbb ccc Query: CBB1 aaa Real example: **IDs** LYSC_CHICK LACB_BOVIN B5B0D4_BOVIN DEF1_ARAHY DEF2_ARAHY DEF3_ARAHY TRFL_BOVIN Q0PKR4_ARAHY Q0GM57_ARAHY Q647G5_ARAHY Q6JYQ7_HEVBR AMP2_FAGES **File** Query: PROKKA_00022 hypothetical protein - 36 aa Hit: AMP1_FAGES UniProt

linux grep命令详解

喜夏-厌秋 提交于 2020-02-06 04:24:42
记一次jenkins执行脚本kill命令时先进行grep模糊查询关键字时,查询出了两个服务…两个都给kill掉了…导致服务一直启动不了. kill ps -ef | grep java | grep all-web | awk '{print $2}' || echo pid not exist ~ 下面转载以下grep命令的博客以作记录. 使用时可以结合ps aux|grep **** 或者ps -ef|grep ***进行使用 原文链接:https://blog.csdn.net/qq_40797605/article/details/89075918 grep命令 grep 1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E

Linux grep 命令

时间秒杀一切 提交于 2020-02-06 00:22:39
Linux grep 命令用于查找文件里符合条件的字符串。 grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。 语法 grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 参数 : -a 或 --text : 不要忽略二进制的数据。 -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。 -c 或 --count : 计算符合样式的列数。 -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。 -d <动作> 或 --directories=<动作> :

Cracking Digital VLSI Verification Interview 第三章

大憨熊 提交于 2020-02-05 21:49:51
目录 Programming Basics Basic Programming Concepts Object Oriented Programming Concepts UNIX/Linux Programming in C/C++ Programming in PERL Programming Basics Basic Programming Concepts [68] 在任何一种编程语言中,静态(static)变量和自动(automatic)变量,局部(local)变量和全局(global)变量之间有什么区别? 区分这些名词需要两个概念,作用域(scope)和存储持续时间(storage duration),前者定义了在何处可以访问变量,后者定义了在何时可以访问变量。 按照变量的作用域可以区分局部(local)和全局(global)变量。局部变量的作用范围有限,尽在声明它们的代码块中可见。而全局变量在声明后在程序的任何位置都可见。 存储持续时间可以区分自动(automatic)变量和静态(static)变量。静态变量的生命周其一直持续到程序结束,因此可以始终访问。自动变量具有有限的生命周期,只能持续到程序离开定义的块或者作用域为止。 例如:在以下的systemverilog代码中,global_int被声明为类成员,并且在整个类中具有全局作用域,而当取消引用该类的对象时

linux常用命令

痴心易碎 提交于 2020-02-05 11:10:35
常用文件命令 linux重启 shutdown halt id:查看登录用户信息 改密 passwd 创建目录:mkdir -p: 递归创建文件夹 切换目录:cd cd ~ 与 cd: 进入家目录 cd -: 进入上次目录 cd ..: 进入上一级目录 cd .: 进入当前目录 删除文件:rm rmdir: 不常用 rm -r: 会询问是否删除 rm -rf: 强制删除 剪切文件和改名:mv 复制命令:cp -r: 复制目录 -p: 连带文件属性复制 -d: 若源文件是链接文件,则复制链接属性 -a: 相当于 -pdr 显示当前路径:pwd print working directory 查询目录中的内容:ls -a: 显示所有文件 -l: 显示文件详细信息,可以用 ll 表示 -d: 查看目录属性,目录本身 -h: 人性化显示文件大小 -i: 显示inode 链接命令:ln -a: 创建软链接(一定要写绝对路径) 注:硬链接其实是同一个文件 -rw-r–r–: -: 代表文件 d: 代表目录 l: 代表软链接文件 rw- r– r– u所有者 g所属组 o其他人 三种权限: r: 读 w: 写 x: 执行 常用目录中: /: 根目录 /bin、/sbin: 命令保存目录 /usr: 系统软件资源目录 /usr/bin: 普通用户系统命令 /usr/sbin: 超级用户系统命令

ASM+LINUX+ORACLE_11G安装

孤人 提交于 2020-02-05 05:01:29
需求: 1.数据文件放ASM,归档放文件系统(LVM) 2.单实例安装 步骤: groupadd oinstall ; groupadd dba ; groupadd oper ; groupadd asmadmin ; groupadd asmoper ; groupadd asmdba ; useradd -g oinstall -G dba,asmdba,oper,asmadmin oracle ; useradd -g oinstall -G asmadmin,asmdba,asmoper,dba grid ; passwd oracle passwd grid mkdir -p /u01/app/oracle ; mkdir -p /u01/app/grid ; mkdir -p /u01/app/grid/11.2.0 ; mkdir -p /u01/app/11.2.0 ; chown -R grid:oinstall /u01/app/grid ; chown -R grid:oinstall /u01/app/11.2.0 ; chown -R oracle:oinstall /u01/app/oracle ; chmod -R 775 /u01 ; oracle: export PATH export ORACLE_SID = orcl export

how can I count number of lines after a string match until next especific match occurs

蓝咒 提交于 2020-02-04 22:57:41
问题 I have a file with the following structure (see below), I need help to find the way to match every ">Cluster" string, and for every case count the number of lines until the next ">cluster" and so on until the end of the file. >Cluster 0 0 10565nt, >CL9602.Contig1_All... * 1 1331nt, >CL9602.Contig2_All... at -/98.05% >Cluster 1 0 3798nt, >CL3196.Contig1_All... at +/97.63% 1 9084nt, >CL3196.Contig3_All... * >Cluster 2 0 8710nt, >Unigene21841_All... * >Cluster 3 0 8457nt, >Unigene10299_All... *

linux基础七

∥☆過路亽.° 提交于 2020-02-04 17:36:31
grep: 根据模式搜索文本,并将符合模式的文本行显示出来。 Pattern: 文本字符和正则表达式的元字符组合而成匹配条件 grep [options] PATTERN [FILE...] -i --color -v: 显示没有被模式匹配到的行 -o:只显示被模式匹配到的字符串 文件名通配符: *: 任意长度的任意字符 ?: 任意单个字符 []: [^]: 正则表达式:REGular EXPression, REGEXP 元字符: .: 匹配任意单个字符 []: 匹配指定范围内的任意单个字符 [^]:匹配指定范围外的任意单个字符 字符集合:[:digit:], [:lower:], [:upper:], [:punct:], [:space:], [:alpha:], [:alnum:] 匹配次数(贪婪模式): *: 匹配其前面的字符任意次 .*: 任意长度的任意字符 \?: 匹配其前面的字符1次或0次 \{m,n\}:匹配其前面的字符至少m次,至多n次 位置锚定: ^: 锚定行首,此字符后面的任意内容必须出现在行首 $: 锚定行尾,此字符前面的任意内容必须出现在行尾 ^$: 空白行 \<或\b: 锚定词首,其后面的任意字符必须作为单词首部出现 \>或\b: 锚定词尾,其前面的任意字符必须作为单词的尾部出现 分组: \(\) \(ab\)* 后向引用 \1: