grep

Linux系统下用find命令查找最近修改过的文件

南楼画角 提交于 2020-02-08 20:07:50
Linux的终端上,没有windows的搜索那样好用的图形界面工具,但find命令确是很强大的。 比如按名字查找一个文件,可以用 find / -name targetfilename 。 唉,如果只知道名字,不知道地点,这样也不失为一个野蛮有效的方法。 按时间查找也有参数 -atime 访问时间 -ctime 改变状态的时间 -mtime修改的时间。但要注意,这里的时间是以24小时为单位的。 查看man手册后使用,你会很迷惑: -mtime n: Files data was last modified n*24 hours ago. 字面上的理解是最后一次修改发生在n个24小时以前的文件,但实际上 find ./ -mtime 0:返回最近24小时内修改过的文件。 find ./ -mtime 1 : 返回的是前48~24小时修改过的文件。而不是48小时以内修改过的文件。 那怎么返回10天内修改过的文件?find还可以支持表达式关系运算,所以可以把最近几天的数据一天天的加起来: find ./ -mtime 0 -o -mtime 1 -o -mtime 2 ……虽然比较土,但也算是个方法了。 还有没有更好的方法,我也想知道。 另外, -mmin参数-cmin / - amin也是类似的。 Find应用实例 查找最近30分钟修改的当前目录下的.php文件 find .

Linux命令使用小记--grep, sed

孤者浪人 提交于 2020-02-08 15:48:46
「TRIGGER」   项目【2020新冠疫情实时监控】中,数据保存出现的问题。 「EXPERIENCE」   一开始以为是数据保存端出现问题,以为是fscanf输入每行以 空格分隔 字段的文件导致的错误,并修改为以逗号分隔。不曾想修改程序后仍有错误数据保存发生,后经前辈提醒发现错误保存的那一条数据字段栏数匹配之前的数据,只是每个字段的内容有点微妙。   进一步找原因的时候发现在有问题的那一条数据产生时,会提示" 标准输入匹配到二进制文件 "。于是本该有4个字段的数据文件因为这个原因导致生成的数据文件就只有一个date +"%s"的unix时间。随后c程序中定义的结构也没有初始化,导致fscanf读入的字段只有一个,而后面有五个错误数据就这样产生了。 (还不够深入) 【图片描述:提示标准输入匹配到二进制文件】 【图片描述:错误数据产生原因】    问题:“标准输入匹配到二进制文件”这一句是谁提示的,具体哪个命令遇到什么情况会提示?   上网查阅后推测,类似提示语句的命令来源为: grep      想起自己的数据筛选中好像源数据确实有经过grep筛选       改进: grep -a "$head".    结果: 抱着终于搞定了的心态运行了一段时间.. 又出现了问题, 程序卡死了 。   想起昨天好像也遇到过,但自己那时候居然给无视了...      遂再次请教前辈

grep_find

寵の児 提交于 2020-02-08 01:16:40
grep (针对文件) grep过滤文本文件的内容(可以跟 > 或 | 一起用) 输出包含指定字符串的行 grep [选项] ‘匹配字符串’ 文本文件.. grep root /etc/passwd -v 取反匹配 -i 忽略大小写 命令行 | grep [选项] ‘匹配字符串’ grep [选项] ‘匹配字符串’ 文本文件 > 文本文件 grep ‘seismic’ /usr/share/dict/words > /root/wordlist 文件/root/wordlist不要包含空行,并且其中所有行的内容必须是/usr/share/dict/words文件中原始行的准确副本。 ^word #搜索以字符串word开头的行 word$ #搜索以字符串word结尾的行 grep ^root /etc/passwd #搜索以root开头的行 grep bash$ /etc/passwd #搜索以bash结尾的行 显示/etc/login.defs配置文件有效信息(去除注释行,去除空行),并将其复制到/opt/1.txt grep -v ^# /etc/login.defs | grep -v ^$ > /opt/1.txt grep经常和管道 | 一起使用 命令行 | grep [选项] '关键字' cat /etc/passwd | grep root --------------

第十节 正则表达式

二次信任 提交于 2020-02-07 09:52:23
第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。Linux正则表达式一般以行为单位处理。 简单说 为处理大量文本|字符串而定义的一套规则和方法 以行为单位出来,一次处理一行 正则表达式是一种描述一组字符串的模式,类似数字表达式,通过各种操作符组成更小的表达式 第2章 为何使用正则表达式 linux运维工作,大量过滤日志工作,化繁为简。 简单,高效。 正则表达式高级工具;三剑客都支持 第3章 容易混淆的两个注意事项 正则表达式应用非常广泛,存在于各种语言中,php perl grep sed awk 支持。ls * 通配符 但现在学的是Linux中的正则表达式,最常应用正则表达式的命令是grep(egrep),sed,awk。 正则表达式和通配符有本质区别 正则表达式用来找:【文件】内容,文本,字符串。一般只有三剑客支持 通配符用来找:文件名,普通命令都支持 第4章 正则表达式使用注意事项 linux正则表达式以行为单位处理字符串 便于区别过滤出来的字符串,一定配合grep/egrep命令学习。 注意字符集,exportLC_All=C:无论何时,做何事都要注意字符集 第5章 正则表达式的分类 POSIX规范将正则表达式的分为了两种 基本正则表达式(BRE

linux 正则表达式

匆匆过客 提交于 2020-02-07 06:47:27
正则表达式 标签(空格分隔):Linux实战教学笔记 --- 更多资料点我查看 第1章 什么是正则表达式 正则表达式就是为了处理大量的文本|字符串而定义的一套规则和方法 通过定义的这些特殊符号的辅助,系统管理员就可以快速过滤,替换或输出需要的字符串。Linux正则表达式一般以行为单位处理。 简单说 为处理大量文本|字符串而定义的一套规则和方法 以行为单位出来,一次处理一行 正则表达式是一种描述一组字符串的模式,类似数字表达式,通过各种操作符组成更小的表达式 第2章 为何使用正则表达式 linux运维工作,大量过滤日志工作,化繁为简。 简单,高效。 正则表达式高级工具;三剑客都支持 第3章 容易混淆的两个注意事项 正则表达式应用非常广泛,存在于各种语言中,php perl grep sed awk 支持。ls * 通配符 但现在学的是Linux中的正则表达式,最常应用正则表达式的命令是grep(egrep),sed,awk。 正则表达式和通配符有本质区别 正则表达式用来找:【文件】内容,文本,字符串。一般只有三剑客支持 通配符用来找:文件名,普通命令都支持 第4章 正则表达式使用注意事项 linux正则表达式以行为单位处理字符串 便于区别过滤出来的字符串,一定配合grep/egrep命令学习。 注意字符集,exportLC_All=C:无论何时,做何事都要注意字符集 第5章

linux命令之grep用法介绍

独自空忆成欢 提交于 2020-02-07 03:58:14
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。 grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。 1.命令格式: grep [option] pattern file 2.命令功能: 用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。 3.命令参数: -a --text #不要忽略二进制的数据。 -A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容。 -c

linux每日命令(35):grep命令

爱⌒轻易说出口 提交于 2020-02-07 03:51:25
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。 grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。 一.命令格式: grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...] 二.命令功能: 用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。 三.命令参数: 参数 描述 -a 或 --text : 不要忽略二进制的数据。 -A 或 --after-context= : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b 或 --byte-offset :

linux学习笔记24---命令grep

◇◆丶佛笑我妖孽 提交于 2020-02-07 03:04:30
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。 如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容 。 grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态, 如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2 。我们利用这些返回值就可进行一些自动化的文本处理工作。 1.命令格式: grep [option] pattern file 2.命令功能: 用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。 3.命令参数: -a --text #不要忽略二进制的数据。 -A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<显示行数> -

每天一个linux命令(39):grep 命令

纵然是瞬间 提交于 2020-02-07 02:31:11
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。 grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到标准输出,不影响原文件内容。 grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。 1. 命令格式: grep [option] pattern file 2. 命令功能: 用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活 。 3. 命令参数: -a --text #不要忽略二进制的数据。 -A<显示行数> --after-context=<显示行数> #除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b --byte-offset #在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<显示行数> --before-context=<显示行数> #除了显示符合样式的那一行之外,并显示该行之前的内容。

正则表达式(grep,sed)

只愿长相守 提交于 2020-02-07 02:11:12
正则表达式 元字符 .* 任意长度的任意字符 尽可能多匹配 [] 匹配指定范围内的任意单个字符,示例:[wang] [0-9] [a-z] [a-zA-Z] [^] 匹配指定范围外的任意单个字符,示例:[^wang] [:blank:] 空白字符(空格和制表符) [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广) [:print:] 可打印字符,标点符号 + 匹配其前面的字符至少1次 {n} 匹配前面的字符n次 {m,n} 匹配前面的字符至少m次,至多n次 位置锚定: ^ 行首锚定 $ 行尾锚定 < 词首锚定 > 词尾锚定 ^$ 空行 分组: ( ) 多个字符捆绑在一起 \1引用 后向引用:引用前面匹配到的字符本身 或者: | 扩展正则表达式: 不加\ grep grep行过滤器 格式:grep ^root /etc/passwd 选项: -v 排除,取反 -i 忽略大小写 -o 匹配字符本身 -E 扩展正则表达式 -A -B -C 匹配后5行,前5行,前后5行 例题 显示/proc/meminfo文件中以大小s开头的行(要求:使用两种方法) cat /proc/meminfo | grep '^S\|^s' cat /proc/meminfo | grep -i '^S' 显示/etc/passwd文件中不以/bin/bash结尾的行 cat /etc