linux提取指定行至指定位置
- grep查找ERROR,定位位置
- awk打印到指定行数
- sed打印到文本末尾
- awk打印到文本末尾
方法一
#!/bin/csh -f
if(-f errorlog.rpt) then
rm -rf errorlog.rpt
endif
ls *.log > loglst.lst #将log文件写到指定文件
#loop execute
set n=`wc -l < loglst.lst`#得到log文件个数(行数)
echo $n
set i=1
while ($i <= $n)
set line="`awk '{if (NR == $i) print}' loglst.lst`" #循环得到log文件名
echo $line
set linenum=`grep -n " ERROR: Device" $line | awk -F ":" '{print $1}'` #查找ERROR位置,得到行数
echo $linenum
set j=$linenum
set num=`wc -l < $line` #得到文件的总行数
while ($j <= $num ) #使用awk循环打印至行末
echo "`awk '{if(NR == $j) print}' $line`" >> errorlog.rpt
@ j ++
end
@ i ++
end
方法二
请教大神得到的多种方法
#!/bin/csh -f
if(-f errorlog.rpt) then
rm -rf errorlog.rpt
endif
ls *.log > loglst.lst
#loop execute
set n=`wc -l < loglst.lst`
echo $n
set i=1
while ($i <= $n)
set line="`awk '{if (NR == $i) print}' loglst.lst`"
echo $line
sed -n '/ ERROR: Device/,$p' $line >> errorlog.rpt #查找打印至文本末尾
#awk '/ERROR/,EOF' $line >> errorlog.rpt
#awk '/ERROR/{a++}a' $line >> errorlog.rpt
#awk 'a;/ERROR/{a++}' $line >> errorlog.rpt
@ i ++
end
linux提取指定行至指定位置的更多相关文章
- css3实现超出文本指定行数(指定文本长度)用省略号代替
测试代码: <!DOCTYPE html> <html> <head> <meta name="viewport" content=&qu ...
- shell awk读取文件中的指定行的指定字段
1.awk功能和实用形式 awk指定读取文件中的某一行的某个字段 awk 可以设置条件来输出文件中m行到n行中每行的指定的k字段,使用格式如下 awk 'NR==m,NR==n {pr ...
- pandas数据处理基础——筛选指定行或者指定列的数据
pandas主要的两个数据结构是:series(相当于一行或一列数据机构)和DataFrame(相当于多行多列的一个表格数据机构). 本文为了方便理解会与excel或者sql操作行或列来进行联想类比 ...
- 使用sed替换指定文件指定行的指定文本
下面是将85行的127.0.0.1替换为192.168.10.108 sed -i '85{s/127.0.0.1/192.168.10.108/}' /etc/zabbix/zabbix_agent ...
- MyEclipse中快速跳转到指定行号位置
有时候我们希望能从当前编辑位置跳到指定行号的位置,可以使用Ctrl + l 快捷键. 其中 l 代表line.
- bat如何提取文本指定行的内容
背景:使用CTS框架运行完测试后,会在logs中生成devices_log和host_log,在results中生成相应的结果(报告).根据报告信息我们可以得知失败的用例,但是却不能知道为什么用例会失 ...
- JqGrid把数据行插入指定位置的方法addRowData
1.首页在colModel里写好方法,如下代码options.rowId是获取当前行的编号 { label: '操作', width: 60, align: 'center', formatter: ...
- 在Linux中使用vi打开文件时如何显示行号,及跳转到指定行
vi 文件名,打开文件后 如果要显示所有行号,使用 :set nu 如果要显示当前行号,使用 :nu 如果要跳转到指定行,使用 :行号 例如,跳转到第10行,使用 :10
- linux命令(51):set 指定行,直接替换并修改文件
sed 命令: 指定行,从第一行到第一行: 把该行的ssd,换成cd: -i 表示的是替换并直接修改文件: sed -i '1,1s/ssd/cd/g' test_file 命令使用: sed - ...
随机推荐
- include子页面传递过来的参数传递到后台
在页面上可以使用 ${param.moduleId}来获取 在判断中也可以使用${param.moduleId == "test" ? "1":"2& ...
- C#time 闹钟
private void timer2_Tick(object sender, EventArgs e) { lbltime.Text = DateTime.Now.ToString(); & ...
- C#字符串的比较
Console.WriteLine("输入字符1"); string n1 = Console.ReadLine(); Console.WriteLine("输入字符2& ...
- uva 10922 - 2 the 9s
題目意思:讀取一數字,此數字最大有1000位.計算該數字是否為九的倍數?如是,再計算其階層數. ※判斷是否為九的倍數:所有位數相加 ÷ 9=0,即為九的倍數. ※計算階層數:所有位數相加後得出的第一個 ...
- Centos 6.x 系统下用yum安装Memcache
我们的第一步就是导入第三方软件仓库RPMForge ,首页进行centos 官网找到RPMForge下载地址 http://wiki.centos.org/AdditionalResources/Re ...
- net.sf.json.JSONException: There is a cycle in the hierarchy!
因为项目中使用了AJAX技术,jar包为:json-lib.jar,在开发过程中遇到了一个JSON-LIB和Hibernate有关的问题: 如hibernate延迟加载错误,这都是些老问题了,一看就知 ...
- C++基于模板顺序表的实现(带排序)
说明:代码是可以运行的,但是发表在博客上后复制到编译器里面报N多错误,找了半天原因是网页里面生成了一些空白字符,这些字符编译器无法识别. 因此使用了2种插入格式插入代码. 第二个带注释解释的代码不可复 ...
- kafka安装及Kafka-PHP扩展的使用
话说用了就要有点产出,要不然过段时间又忘了,所以在这里就记录一下试用Kafka的安装过程和php扩展的试用. 实话说,如果用于队列的话,跟PHP比较配的,还是Redis.用的顺手,呵呵,只是Redis ...
- PHP的curl常用的5种写法
// 1,抓取无访问控制文件 $ch= curl_init(); curl_setopt($ch, CURLOPT_URL,"http://localhost/mytest/phpinfo. ...
- jQuery Mobile 网格
在列容器中,根据不同的列数,子元素可设置类 ui-block-a|b|c|d|e.这些列将依次并排浮动. 网格中的列是等宽的(总宽是 100%),无边框.背景.外边距或内边距. 例: 对于 ui-gr ...