首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Shell 命令行 从日志文件根据符合内容日志输出到另一文件

Shell 命令行 从日志文件根据符合内容日志输出到另一文件 前面我写了一篇博文Shell 从日志文件中选择时间段内日志输出到另一文件,利用循环实现了我想要实现内容。...但是用这个脚本同事很郁闷,因为执行时间比较长,越大文件越长。于是找我,问我能不能实现一个更快方案。 我想了一下,觉得之前设计是脱裤子放屁,明明有更加简单实现方法。...想办法获得我要截取内容开始行号,然后再想办法获得我想截取文件结尾行号,然后用两个行号来进行截断文件并输出。就可以实现这个效果了。.../bin/bash # 设定变量 log=3.log s='2017-08-01T01:3' e='2017-08-01T01:4' # 根据条件获得开始和结束行号 sl=`cat -n $log...| cut -f1` el=`cat -n $log | grep $e | tail -1 | sed 's/^[ \t]*//g' | cut -f1` # 获取结果并输出到 res.log 文件

2.6K70

问与答61: 如何一个文本文件满足指定条件内容筛选到另一个文本文件

图1 现在,我要将以60至69开头放置另一个名为“OutputFile.csv”文件。...图1只是给出了少量示例数据,我数据有几千,如何快速对这些数据进行查找并将满足条件复制到新文件?...Do Until EOF(1) '读取文件一行并将其赋值给ReadLine变量 Line Input #1, ReadLine 'ReadLine...4.Line Input语句从文件号#1文件逐行读取其内容并将其赋值给变量ReadLine。 5.Split函数字符串使用指定空格分隔符拆分成下标以0为起始值一维数组。...6.Print语句ReadLine变量字符串写入文件号#2文件。 7.Close语句关闭指定文件。 代码图片版如下: ?

4.3K10
您找到你想要的搜索结果了吗?
是的
没有找到

Linux:sed命令详解

sed 每处理完一行就将其从临时缓冲区删除,然后一行读入,进行处理和显示。处理完输入文件最后一行,sed 便结束运行。...对所选以外所有应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 所选写入文件 x 交换暂存缓冲区与模式空间内容 y 字符替换为另一字符(不能对正则表达式使用 y 命令...my 将被替换为**my** \< 词首定位符 /\<my/  匹配包含以 my 开头单词 \> 词尾定位符 /my\>/  匹配包含以 my 结尾单词 x\{m\} 连续 m 个 x /9...sed 使用该命令一个文本文件内容加到当前文件特定位置上。...如果出现My不止一行,则在出现My各行都读入introduce.txt文件内容

7K60

vim常用命令总结

2.删除一行 删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。 3.删除换行符 在Vim你可以把两合并为一行,也就是说两之间换行符被删除了:命令是"J"。...如果只是想去掉当前高亮显示,可以使用下面的命令:":nohlsearch"(可以简写为noh)。 21.匹配一行开头与结尾    ^ 字符匹配一行开头。$字符匹配一行末尾。...对于以"dd"删除整行内容,"P"会把它置于当前行一行。"p"则是至于当前行一行。也可以对命令"p"和"P"命令使用命令记数。它效果是同样内容被取回指定次数。...或者编辑另一文件,"'B"命令会再把你带回文件"fab2.java"最后一行。...离开vi,并放弃刚在缓冲区内编辑内容。 :wq   缓冲区内资料写入磁盘,并离开vi。 :x    同wq。

1.3K10

vim 学习笔记(四)—— 常用命令汇总

2.删除一行 删除一整行内容使用"dd"命令。删除后下面的行会移上来填补空缺。 3.删除换行符 在Vim你可以把两合并为一行,也就是说两之间换行符被删除了:命令是"J"。...如果只是想去掉当前高亮显示,可以使用下面的命令:“:nohlsearch”(可以简写为noh)。 21.匹配一行开头与结尾 ^ 字符匹配一行开头。$字符匹配一行末尾。...对于以"dd"删除整行内容,"P"会把它置于当前行一行。"p"则是至于当前行一行。也可以对命令"p"和"P"命令使用命令记数。它效果是同样内容被取回指定次数。...这样一来"dd"之后"3p"就可以把被删除3 份副本放到当前位置。 命令"xp"光标所在字符与一个字符交换。 **32....或者编辑另一文件,“'B"命令会再把你带回文件"fab2.java"最后一行

75830

Linux 学习VI编辑器

[超常用] ,# w filename:如果您想摘取文章某一段,存成另一文件,可用这个指令#代表行号,例如30,50 w nice,您正在编辑文章第30~50存成nice这个文件。...n1到n2之间内容删除 :w :保存当前文件 :e filename:打开文件filename进行编辑 :x:保存当前文件并退出 :q:退出vi :q!...command:文件n1至n2内容作为command输入并执行之,若不指定n1,n2,则表示整个文件内容作为command输入 :r!...command:命令command输出结果放到当前行 寄存器操作 "?nyy:当前行及其下n内容保存到寄存器?,其中?为一个字母,n为一个数字 "?...---- 注意: 其中s为substitute,%表示所有,g表示global。 ---- 5.同时编辑2个文件,拷贝一个文件文本并粘贴到另一文件

7.6K30

vim命令总结

3.删除换行符 在Vim你可以把两合并为一行,也就是说两之间换行符被删除了:命令是"J"。 4.撤销 如果你误删了过多内容。...如果只是想去掉当前高亮显示,可以使用下面的命令:":nohlsearch"(可以简写为noh)。 21.匹配一行开或结尾 ^ 字符匹配一行开头。$字符匹配一行末尾。...所以"/was$"只匹配位于一行末尾单词was,所以"/^was"只匹配位于一行开始单词 22.匹配任何单字符 .这个字符可以匹配到任何字符。...对于以"dd"删除整行内容,"P"会把它置于当前行一行。"p"则是至于当前行一行。也可以对命令"p"和"P"命令使用命令记数。它效果是同样内容被取回指定次数。...或者编辑另一文件,"'B"命令会再把你带回文件"fab2.java"最后一行

78170

Linux如何通过命令查看日志文件某几行(中间几行或最后几行)「建议收藏」

sed每处理完一行就将其从临时缓冲区删除,然后一行读入,进行处理和显示。处理完输入文件最后一行,sed便结束运行。sed把每一行都存在临时缓冲区,对这个副本进行编辑,所以不会修改原文件。...对所选以外所有应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 所选写入文件 x 交换暂存缓冲区与模式空间内容 y 字符替换为另一字符(不能对正则表达式使用...sed使用该命令一个文本文件内容加到当前文件特定位置上。...如果出现My不止一行,则在出现My各行都读入introduce.txt文件内容。...6.9 c\ 命令 sed使用该命令已有文本修改成新文本。 6.10 n命令 sed使用该命令获取输入文件一行,并将其读入到模式缓冲区,任何sed命令都将应用到匹配紧接着一行上。

9.6K60

vim常用命令总结

2.删除一行   删除一整行内容使用“dd”命令。删除后下面的行会移上来填补空缺。 3.删除换行符   在Vim你可以把两合并为一行,也就是说两之间换行符被删除了:命令是“J”。...如果只是想去掉当前高亮显示,可以使用下面的命令:“:nohlsearch”(可以简写为noh)。 21.匹配一行开头与结尾    ^ 字符匹配一行开头。$字符匹配一行末尾。    ...对于以“dd”删除整行内容,“P”会把它置于当前行一行。“p”则是至于当前行一行。也可以对命令“p”和“P”命令使用命令记数。它效果是同样内容被取回指定次数。...然后在“fab2.java”文件,用命令“GnB”在最后一行设置名为B标记。在可以用“F”命令跳转到文件“fab1.java”半中间。...或者编辑另一文件,“‘B”命令会再把你带回文件“fab2.java”最后一行

11.9K20

NotePad++ 正则表达式替换 高级用法

大家好,又见面了,我是你们朋友全栈君。 在我们处理文件时,很多时候会用到查找与替换。当我们想将文件某一部分替换替换文件另一部分时,怎么办呢? 下面正则表达式 给我提供方法。...这些标签可以用在当前正则表达式,或则search和replace换字符串。 \1, \2, etc 在替换中代表1到9标签区域(\1 to \9)。...例如, 查找字符串 Fred([1-9])XXX 并替换为字符串 Sam\1YYY方法,当在文件中找到Fred2XXX字符串时,会替换为Sam2YYY。...^ 匹配一行开始(除非在集合, 如下). $ 匹配行尾. * 匹配0或多次, 例如 Sa*m 匹配 Sm, Sam, Saam, Saaam 等等. + 匹配1次或多次,例如 Sa+m 匹配 Sam...=name) 匹配名为name组. (?P…). (?#comment) 批注 –括号内容匹配时将被忽略。 3 特殊符号 符号 解释 \s 匹配空格. 注意,会匹配标记末尾.

3.2K30

一篇文章学会shell工具篇之sed

字符串替换为pattern2 这个操作不知道大家会不会联想到vim编辑器模式搜索,它们是类似的。...action: a:追加,在当前行添加一行或多行。 c:替换,用c后面的字符串替换原数据。 i:插入,在当前行前插入一行或多行。 p:打印,输出指定。...3.再来介绍一下sed定址 定址用于决定对文件哪些行进行行编辑,地址形式可以是数字、正则表达式、或二者结合。如果没有指定地址,sed处理输入文件所有。... 例1:给每行后面添加一行空行 例2:用sed模拟倒序(tac)打印过程 例3.追加匹配文件末尾 例4:一列内容变为一行 例5:求出1-100求和 例6:打印输出奇数和偶数...test将被替换为*test* \<:词⾸首定位符 /\<my/ 匹配包含以my开头单词; \>:词尾定位符 /my\>/ 匹配包含以my结尾单词x\{m\}:连续m个

96270

Linux sed命令详解

处理时,把当前处理存储在临时缓冲区,称为”模式空间”( oattern space),接着用sed命令处理缓冲区内容,处理成,把缓冲区内容送往屏幕显示。...接着下一行,这样不断重复,直到文件末。文件内容没有改改变,除非使用了写入命令,内容更新。 定址用于决定对哪些进行编辑。地址形式可以是数字、正则表达式、或二者结合。...如果没有指定地址,sed处理输入文件所有。 sed命令功能 命令 功能 a\ 在当前行添加一行或多行。...多行时除最后一行外,每行末尾需用“\”续 c\ 用此符号新文本替换当前行文本。多行时除最后一行外,每行末尾需用"\"续 i\ 在当前行之前插入文本。...对所选以外所有应用命令 s 用一个字符串替换另一个 g 在行内进行全局替换 w 所选写入文件 x 交换暂存缓冲区与模式空间内容 y 字符替换为另一字符(不能对正则表达式使用

4.9K20

【linux命令讲解大全】081.sed:功能强大流式文本编辑器

处理时,把当前处理存储在临时缓冲区,称为“模式空间”(pattern space),接着用sed命令处理缓冲区内容,处理完成,把缓冲区内容送往屏幕。...w # 表示把写入一个文件x # 表示互换模板块文本和缓冲区文本。.../p’ file 直接编辑文件 选项-i ,会匹配file文件一行所有book替换为books: sed -i 's/book/books/g' file 全面替换标记g 使用后缀 /g 标记会替换每一行所有匹配...里内容被读进来,显示在与test匹配后面,如果匹配多行,则file内容显示在所有匹配下面: sed '/test/r file' filename 写入文件:w命令 在example中所有包含...6 sync:x:5:0:sync:/sbin:/bin/sync 7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown 如果想实现对第一行到第五统一替换为相同内容

19910

linux下vim命令详解

稍微解释一下,当在normal模式下输入:qx,你对文本所有编辑动作将会被记录下来,再次输入q即退出了记录模 式,然后输入@x对刚才记录下来命令进行重复,此命令可跟数字,表示要重复多少次,比如...搜索则是向上下一个) N 上一个匹配(同上) :%s/old/new/g 搜索整个文件所有的old替换为new :%s/old/new/gc 搜索整个文件所有的old替换为...$ 跳至行尾 gg 跳至文件一行 gd 跳至当前光标所在变量声明处 [N]G 跳到第N,如0G,就等价于gg,100G就是第100 fx 在当前行找...,单字符模式 V 进入可视模式,模式 ctrl+v 进入可视模式,列模式,类似于UE列模式 o 跳转光标到选中块另一个端点 U 选中块内容转成大写 O...跳转光标到块另一个端点 aw 选中一个字 ab 选中括号所有内容,包括括号本身 aB 选中{}括号所有内容 ib 选中括号内容,不含括号 iB 选中

2.5K30

Mac之vim普通命令使用

: :qx 开始记录宏,并将结果存入寄存器x q 退出记录模式 @x 播放记录在x寄存器宏命令 稍微解释一下,当在normal模式下输入:qx,你对文本所有编辑动作将会被记录下来...搜索则是向上下一个) N 上一个匹配(同上) :%s/old/new/g 搜索整个文件所有的old替换为new :%s/old/new/gc 搜索整个文件所有的old替换为...$ 跳至行尾 gg 跳至文件一行 gd 跳至当前光标所在变量声明处 [N]G 跳到第N,如0G,就等价于gg,100G就是第100 fx 在当前行找...,单字符模式 V 进入可视模式,模式 ctrl+v 进入可视模式,列模式,类似于UE列模式 o 跳转光标到选中块另一个端点 U 选中块内容转成大写 O...跳转光标到块另一个端点 aw 选中一个字 ab 选中括号所有内容,包括括号本身 aB 选中{}括号所有内容 ib 选中括号内容,不含括号 iB 选中

6.2K30

Sed 命令

显示:发送修改内容到输出流。在发送数据,模式空间将会被清空。在所有的文件内容都被处理完成之前,上述过程重复执行,直至所有内容被处理完。...d:删除,删除选定a:增加,在当前行下面增加一行指定内容i:插入,在选定上面插入一行指定内容c:替换,选定换为指定内容y:字符转换,转换前后字符长度必须相同p:打印,如果同时指定;如果不指定...n 替换为 1; e 替换为 2sed 'y/ne/12/' a.txto12twothr22fourfiv2sixs2v212ight1i12t212l2v21tw2lv2六、在文件插入内容1.在指定下面插入内容...P;D' file二 匹配到字符串所在一行或者是下一行插入一条数据a 追加内容 sed ‘/匹配词/a\要加入内容’ example.file(内容追加到匹配目标一行位置)i 插入内容...sed ‘/匹配词/i\要加入内容’ example.file 内容插入到匹配目标的上一行位置)例:把文件包含“chengyongxu.com”这个关键词行前或加入一行内容为“allow

17610

shell脚本快速入门之-----正则三剑客之二sed用法大全!!!

sed 工作流程主要包括读取、执行和显示三个过程。 读取:sed 从输入流(文件、管道、标准输入)读取一行内容并存储到临时缓冲区(又称模式空间,pattern space)。...在发送数据,模式空间将会被清空。 在所有的文件内容都被处理完成之前,上述过程重复执行,直至所有内容被处理完。.../THE/g' test.txt //文件所有the 替换为 THE sed 's/o//g' test.txt //文件所有o 删除(替换为空串) sed 's/^/#/' test.txt...'3,5s/the/THE/g' test.txt //第 3~5 所有 the 替换为 THE sed '/the/s/o/O/g' test.txt //包含the 所有 o 都替换为...H:复制到剪贴板; g、G:剪贴板数据覆盖/追加至指定; w:保存为文件; r:读取指定文件; a:追加指定内容 sed '/the/{H;d};$G' test.txt //包含the

1.5K30

pico命令

参数 +LINE[,COLUMN]: 启动时光标放置在行号和列号列,而不是默认第1第1列。 -?: 与-h相同。...-A, --smarthome: 使Home键更智能,如果在一行中非空格字符开头但在任何地方按Home键,则光标跳到该开头(向前或向后),如果光标已经在该位置,它将跳到该行真实开头。...-E, --tabstospaces: 键入制表符转换为空格。 -F, --multibuffer: 如果可用,启用多个文件缓冲区。...-U, --quickblank: 快速清除状态栏,1次按键而不是25次按键,状态栏消息消失,请注意-c会覆盖此内容。 -V, --version: 输出版本信息。...-i, --autoindent: 缩进到前一行缩进,在编辑源代码时很有用。 -k, --cut: 启用从光标到行尾剪切。

1.3K30

sed入门详解教程 原

处理时,把当前处理存储在临时缓冲区,成为"模式空间",接着用sed命令处理缓冲区内容,处理完成,把缓冲区内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。...七、基本子命令 1、子命令a 子命令a表示在指定下边插入指定内容。 例子1: sed ‘a A’ message 说明:message文件一行下边都插入添加一行内容是A。...2、子命令i 子命令i和a使用上基本上一样,只不过是在指定上边插入指定内容。 例子1: sed ‘i A’ message 说明:message文件一行上边都插入添加一行内容是A。...例子2: sed ‘1,2c A’ message 说明:message文件1-2内容换为A,注意这里说1-2所有的内容只替换为一个A内容,也就是1-2内容编程了一行,定址如果连续就是这种情况...例子3: sed ‘1,2c A\nA’ message 说明:message1-2内容分别替换为了A,需要在替换内容上手动加换行\n,这样当然也可以一行内容换为多行内容

1.4K20

Linux管道命令(三)

tr tr命令文本一个字符替换为另一个字符(除非挤压字符),它不直接读取文件,而是从标准输入读取信息,它语法如下: tr [-cds] [set1 [set2]] tr命令字符集set1字符替换为字符集...下面是data文件内容: $ cat data abc DEF GHi abC 12345 67890 下面的命令data文件a替换为X: $ tr a X < data Xbc DEF GHi...先来看-c选项,它匹配所有不在第一个字符集中字符,比如$ tr -c '\n' X < datadata文件中所有不是\n(换行符)字符替换为X: $ tr -c '\n' X < data XXX...sed程序从头到尾处理所有数据: 从输入流读取一行; 对改行执行指定指令; 更改写入输出流。...data文件内容如下: $ cat data abc DEF GHi abC 12345 67890 下面的命令data文件一行ab替换为CD: $ sed '1s/ab/CD/g' data

1.6K10
领券