cat
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容。
cat m1 (在屏幕上显示文件ml的内容)
cat m1 m2 (同时显示文件ml和m2的内容)
cat m1 m2 > file (将文件ml和m2合并后放入文件file中)
可以在 后面添加 | grep -a 'xxx' 添加xxx的过滤条件
但是 如果是要获取一个文件中的一段时间的数据的话,会比较麻烦,比如:
cat xxx | grep -a '过滤条件' | grep -a '2018-08-30 10:2\|2018-08-30 10:5' 就是查询 10:20到10:59:59的所有数据
但是如果要 查询跨小时的 就比较麻烦
例如:
cat xxxx | grep -a '2018-08-20 12:\|2018-08-20 13:\|2018-08-20 14:\|2018-08-20 15:\|2018-08-20 16:\|2018-08-20 17:\|2018-08-20 18:\|2018-08-20 19:'
这就是12点到19点的所有数据 相对于sed的命令 就比较麻烦
sed
sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。
sed 中对于一段时间查询命令
所有在模板test和check所确定的范围内的行都被打印:
sed -n '/time1/,/time2/p' file 这个可以跨小时 但是注意 是含头不含尾的 比如time2=20:00 只会打印到19:59:59
比如:
sed -n '/06:55:00/,/09:35:00/p' xxx.log | grep -a '过滤条件'
相对于cat 就比较方便了