比如这样的日志,需要统计后一条记录和前一条记录之间的时间差值 [2024-10-11 10:42:24 023047] DEBUG 478832,readermgn.cpp:17:run,tid:0x7f80697fa700,479378,reader mgn running [2024-10-11 10:42:30 329273] DEBUG 478832,readermgn.cpp:17:ru […]
标签: shell
Shell冷知识收集
1、vi进行16进制编辑和替换
1 2 3 4 5 6 7 8 |
#进入16进制编辑模式 :%!xxd #替换(注意替换会将左边地址列也替换掉) :%s/c4e3//g #恢复文本模式 :%!xxd -r |
2、sed删除匹配行的时候不区分大小写,使用Id,精确匹配,添加\<\>
1 2 3 4 |
sed -i '/Database/Id' .dblist sed -i '/\<Database\>/Id' .dblist |
3、ps查看进程的精确启动时间
1 2 3 |
ps -eo pid,lstart,etime,cmd |
4、时间戳和格式化时间互转 [crayon-6755 […]
shell-eval
“有时候你以为是春天来了,却往往被冻死在这个曾经欣羡的季节” eval - construct command by concatenating arguments 通俗而不专业的来讲,就是将传递给eval的所有args连接起来,作为一条shell命令来执行,并且在连接的同时,会将第一层变量所指向的值,作为实际连接的内容。 用官方的例子来解释: #定义变量foo,内容为hello foo=hell […]