grep

using grep to find strings with backslashes - Character Escaping

心不动则不痛 提交于 2020-05-08 14:24:55
问题 I am having difficulties to use \ as a chatterer within a regular expression. Any ideas how to make that work? grep(pattern = '\', "text with \ backslash", value = T ) # Expected output: [1] "text with backslash" 回答1: A single \ in an R string is invalid because \ is an escape character. A single backslash is actually represented by two backslashes \\ . The first one serves as an escape character, the second one is the actual backslash. The function cat can be used to print the final string

Regex, grep lines containing only 1 occurrences of a char

被刻印的时光 ゝ 提交于 2020-05-08 04:50:42
问题 I am looking for an efficient regular expression (preferably possessive), which i can use to grep lines containing only one delimiter (',') from a big file (5Gb) : E.G X,Y X1,Y1,Y2 X3,Y3 X4,Y4 X5,Y5,Z6 >>> grep "???" big_file X,Y X3,Y3 X4,Y4 回答1: Shouldn't a simple ^[^,]*,[^,]*$ avoid backtracking, because of the start/end-of-string markers? 回答2: Although @Rawling (one of the answers here) is right and his regular expression is correct, it is still not possessive and therefore not optimized,

Grep from a range of dates as filenames

ぐ巨炮叔叔 提交于 2020-04-18 12:41:29
问题 I have multiple files which have raw CDRs in them. The files are named in the pattern cdr.log-2013-06-08-0100 . There are multiple files like so: cdr.log-2013-06-07-0000 cdr.log-2013-06-07-0100 . . cdr.log-2013-06-08-2200 cdr.log-2013-06-08-2300 I need to grep out a string from a range of files say between the date 6th june 2013 to 9th june 2013, how can I accomplish this? 回答1: To grep a string from specific range of file. find . -regex ".*cdr\.log-2013-06-0[6-9]-.*" -exec grep 'your string'

【Linux】- ps -ef |grep 命令

纵饮孤独 提交于 2020-04-08 06:47:44
ps :将某个进程显示出来 grep :查找 |:管道命令 表示ps命令与grep同时执行 PS是LINUX下最常用的也是非常强大的进程查看命令 grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。 grep全称是Global Regular Expression Print ,表示全局正则表达式版本,它的使用权限是所有用户。 以下这条命令是检查OC 进程是否存在: ps -ef | grep OC 结果如图: 字段含义如下: UID PID PPID C STIME TTY TIME CMD root 14319 773 0 10:29 ? 00:00:00 dotnet Lottery.OC.Service.dll UID :程序被该 UID 所拥有 PID :就是这个程序的 ID PPID :则是其上级父程序的ID C :CPU使用的资源百分比 STIME :系统启动时间 TTY :登入者的终端机位置 TIME :使用掉的CPU时间。 CMD :所下达的是什么指令 来源: https://www.cnblogs.com/wangwust/p/9765572.html

脚本基础练习题

陌路散爱 提交于 2020-04-07 14:07:03
1.编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,cpu型号,内存大小,硬盘大小。 #!/bin/bash 显示电脑硬件信息 echo "主机名: $(hostname)" echo "IPv4地址: $(ifconfig | head -n2 |tail -n1 |tr -s " " ":"| cut -d":" -f3)" echo "操作系统版本:$(cat /etc/redhat-release)" echo "内核版本: $(uname -r)" echo "CPU型号: $(cat /proc/cpuinfo|grep "model name"|uniq -c|cut -d":" -f2)" echo "内存大小: $(free -m | head -n2 |tail -n1|tr -s " " ":"|cut -d":" -f2)" echo "硬盘大小: $(fdisk -l | grep "GB"|cut -d":" -f2|cut -d"," -f1)" 2.编写脚本/root/bin/backup.sh,可实现每日将/etc/目录备份到/root/etcYYYY-mm-dd中 #!/bin/bash cp -r /etc/ /root/etc"$(date +%F)" 3

grep

主宰稳场 提交于 2020-04-07 12:01:18
作为linux中最为常用的三大文本(awk,sed,grep)处理工具之一,掌握好其用法是很有必要的。 首先谈一下grep命令的常用格式为:grep [选项] ”模式“ [文件] grep家族总共有三个:grep,egrep,fgrep。 常用选项:   -E :开启扩展(Extend)的正则表达式。   -i :忽略大小写(ignore case)。   -v :反过来(invert),只打印没有匹配的,而匹配的反而不打印。   -n :显示行号   -w :被匹配的文本只能是单词,而不能是单词中的某一部分,如文本中有liker,而我搜寻的只是like,就可以使用-w选项来避免匹配liker   -c :显示总共有多少行被匹配到了,而不是显示被匹配到的内容,注意如果同时使用-cv选项是显示有多少行没有被匹配到。   -o :只显示被模式匹配到的字符串。   --color :将匹配到的内容以颜色高亮显示。   -A n:显示匹配到的字符串所在的行及其后n行,after   -B n:显示匹配到的字符串所在的行及其前n行,before   -C n:显示匹配到的字符串所在的行及其前后各n行,context       模式部分:   1、直接输入要匹配的字符串,这个可以用fgrep(fast grep)代替来提高查找速度,比如我要匹配一下hello.c文件中printf的个数

Grep 命令总结

冷暖自知 提交于 2020-04-07 07:14:03
1.查看指定文件夹下含有某个字符串的文件 find +grep find . -name "*.java" |xargs grep "c583c7c46eef455992a6846c81573f02" 2.grep遍历文件夹查找文本内容 有时候我们需要在某一个包含很多子目录的目录中搜索查找包含某个文本内容的文本,我们可以在grep中加上 -r选项让grep命令迭代进入子目录查找。同时在命令最后加上代表文件通配符的*号,不然grep会一直等待输入。命令方式如下所示: grep -r "查找文本内容" * 3.grep 匹配 以什么开头/结尾的内容 (^行首, $ 行尾) -n打印行数 grep -n '^https' url.txt 搜索以https为行首并显示行号搜索以com为行尾并显示行号 grep -n 'com$' url.txt 来源: oschina 链接: https://my.oschina.net/u/259459/blog/633687

19.每日一个Linux命令----grep

混江龙づ霸主 提交于 2020-04-07 07:13:47
描述:在指定的文件或标准输出、标准输入内,查找满足条件的内容,起过滤作用,支持正则表达式。 用法:grep [option] 文件名 常用参数: -a :将 binary 文件以 text 文件的方式搜寻数据 -c :计算找到 '搜寻字符串' 的次数 -i :忽略大小写的不同,所以大小写视为相同 -n :顺便输出行号 -w: 整词比对, 类似 \<word\> -c: 只输出符合比对的行数 -l: 只输出符合比对的文件名称 -v :反向选择,亦即显示出没有 '搜寻字符串' 内容的那一行! --color=auto :可以将找到的关键词部分加上颜色的显示喔 -R 递归,包含子目录 -E 扩展正则表达式 -q 安静模式,不输出结果 -F 搜索字符串 示例:1.显示/etc/passwd文件中含有root的行,并在行首加上所在行号。 [root@share22 ~]# grep -n root /etc/passwd 1:root:x:0:0:root:/root:/bin/bash 10:operator:x:11:0:operator:/root:/sbin/nologin 2.显示/etc/passwd文件中不包含root的行。 [root@share22 ~]# grep -v root /etc/passwd bin:x:1:1:bin:/bin:/sbin/nologin

grep搜索子目录中包含某字符串的特定文件

百般思念 提交于 2020-04-07 06:16:06
比如,我想搜源码目录src下,包含“niuc”的所有ec文件 find ./src -name '*.ec' -exec grep -i niuc {} /; -print 在特定文件中grep某关键字,除了使用find 命令加exec选项之外,其实还有更简单的方法: grep -R --include="*.cpp" key dir 上述命令的含义: 在dir目录下递归查找所有.cpp文件中的关键字key 是不是更简单呢? linux grep命令的使用 用‘grep’搜索文本文件 如果您要在几个文本文件中查找一字符串,可以使用‘grep’命令。‘grep’在文本中搜索指定的字符串。 假设您正在‘/usr/src/linux/Documentation’目录下搜索带字符串‘magic’的文件: $ grep magic /usr/src/linux/Documentation/* sysrq.txt:* How do I enable the magic SysRQ key? sysrq.txt:* How do I use the magic SysRQ key? 其中文件‘sysrp.txt’包含该字符串,讨论的是 SysRQ 的功能。 默认情况下,‘grep’只搜索当前目录。如果此目录下有许多子目录,‘grep’会以如下形式列出: grep: sound: Is a

关于linux的一些常用的指令

随声附和 提交于 2020-04-06 04:05:17
top:命令经常用来监控linux的系统状况,比如cpu、内存的使用。 free:观察内存使用。 Find:查找指定的文件。 Whereis:查找指定的文件源和二进制文件和手册等 Which:用于查询命令或别名的位置。 Locate:快速查找系统数据库中指定的内容。 Grep:查找文件里符合条件的字符串。 2. grep 在文件中查找字符串(不区分大小写) $ grep -i "the" demo_file 输出成功匹配的行,以及该行之后的三行 $ grep -A 3 -i "example" demo_text 在一个文件夹中递归查询包含指定字符串的文件 $ grep -r "ramesh" * 更多示例:Get a Grip on the Grep! – 15 Practical Grep Command Examples 3. find 查找指定文件名的文件(不区分大小写) $ find -iname "MyProgram.c" 对找到的文件执行某个命令 $ find -iname "MyProgram.c" -exec md5sum {} \; 查找home目录下的所有空文件 $ find ~ -empty 23. free 这个命令用于显示系统当前内存的使用情况,包括已用内存、可用内存和交换内存的情况 默认情况下free会以字节为单位输出内存的使用量 $ free