Shell 获取指定行的内容
需求: 有一个文件,根据指定的字符串,得到该字符串上两行的内容。
文件内容如下:
linux-56:# cat sys.ttconnect.ini
# Copyright (C) 1999, 2006, Oracle. All rights reserved. ###############################################################
# This is a file used for the TimesTen Client.
# It contains entries for each server.
# GMPC connects TimesTen server over TCP.
############################################################### [LocalHost_mpc1]
Description=First TimesTen Server
Network_Address=localhost
TCP_PORT=17002
TTC_Timeout=300 [LocalHost_mpc1_1]
Description=First TimesTen Server
Network_Address=linux-56
TCP_PORT=17002
TTC_Timeout=300
根据hostname 得到 [LocalHost_ 后面的用户名。
具体代码:
#!/bin/sh
TT_DSN=`awk '/^setenv TT_DSN/ {print $3}' /export/home/oracle/.login | tail -`
#echo $TT_DSN
HOST_NAME=`hostname` TT_CONNECT_FILE=/opt/TimesTen/${TT_DSN}/info/sys.ttconnect.ini
start_line=`grep "Network_Address=$HOST_NAME" $TT_CONNECT_FILE -n | awk -F: '{print $1}'`
if [ "X" == "X$start_line" ]; then
start_line=`grep "Network_Address=localhost" $TT_CONNECT_FILE -n | awk -F: '{print $1}'`
fi #echo $start_line
check_line=$[$start_line - ]
#echo $check_line
DSN_TMP=`head -n $check_line $TT_CONNECT_FILE |tail -n +$check_line`
#echo $DSN_TMP DSN=`echo ${DSN_TMP:}`
DSN=`echo ${DSN%]}` #echo $DSN Result=`su - oracle -c "ttIsqlCS -connstr $DSN -v 1 -e 'call ttrepstateget;bye'"`
#echo $Result if [[ "*ACTIVE*" != $Result ]]; then
echo "not ACTIVE"
exit
else
echo "ACTIVE"
fi
这里主要可以学习的几个点在于:
1、如何根据指定的字符串,得到当前行的行号
2、根据行号获取该行附近的内容
3、字符串的截取
Shell 获取指定行的内容的更多相关文章
- shell 获取指定ip的丢包率
shell 获取指定ip的丢包率 丢包率大于10%就重新网络 使用sed 替换字符串 [[ $(ping -c 10 -W 1 baidu.com | awk '$6 ~ /%/{print $6}' ...
- mysql 行号 获取指定行数据
mysql 行号的实现 Select id,(@rowNum:=@rowNum+1) as rowNo From first,(Select (@rowNum :=0) ) bOrder by fir ...
- SQL Server获取指定行的数据
SQL Server获取指定行(如第二行)的数据 --SQL Server获取指定行(如第二行)的数据-- --法一(对象法)-- select * from ( select * , numbe ...
- PyQt(Python+Qt)学习随笔:QListWidget获取指定行对应项的item()方法
老猿Python博文目录 专栏:使用PyQt开发图形界面Python应用 老猿Python博客地址 在列表部件中,可以通过item方法获取指定行对应的项,语法如下: QListWidgetItem i ...
- SHELL 在指定行的前/后插入指定内容
#如果知道行号可以用下面的方法 sed -i '88 r b.file' a.file #在a.txt的第88行插入文件b.txt awk '1;NR==88{system("cat ...
- Shell获取指定区间随机未占用的端口号
说明 最近在写Jenkins自动运维的脚本,由于是用的docker,部署的时候启动容器端口号冲突会导致部署失败,用的微服务也不在乎端口什么的,只求部署成功,所以想了很久,参考了一些文章,还有运维大哥的 ...
- bat如何提取文本指定行的内容
背景:使用CTS框架运行完测试后,会在logs中生成devices_log和host_log,在results中生成相应的结果(报告).根据报告信息我们可以得知失败的用例,但是却不能知道为什么用例会失 ...
- Pandas 如何通过获取双(多)重索引获取指定行DataFrame数据
图片看不清楚的话,可以右键选择:“在新标签页中打开图片(I)” 参数 df.loc[(a,b),c]中第一个参数元组为索引内容,a为level0索引对应的内容,b为level1索引对应的内容 因为df ...
- Linux查看文件指定行数内容
1.tail date.log 输出文件末尾的内容,默认10行 tail -20 date.log 输出最后20行的内容 tail -n -20 date ...
随机推荐
- java学习笔记之线程1
1.线程的概念 线程是系统中最小的执行单元,同一进程有多个线程,多个线程共享进程的资源. 线程调用yield()方法使线程从运行状态转入可运行状态,让出资源: 线程调用sleep()方法使线程由运行状 ...
- POJ 3422 Kaka's Matrix Travels
Kaka's Matrix Travels Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9567 Accepted: ...
- Linux--Tail命令
inux tail命令用途是依照要求将指定的文件的最后部分输出到标准设备,通常是终端,通俗讲来,就是把某个档案文件的最后几行显示到终端上,假设该档案有更新,tail会自己主动刷新,确保你看到最新的档案 ...
- spring-mvc注解(mvc:annotation-driver,JSON,配置详解)
一.DefaultAnnotationHandlerMapping 和 AnnotationMethodHandlerAdapter 的使用已经过时! spring 3.1 开始我们应该用 Reque ...
- CSS3的filter用法
最近到处看到有人在说CSS3的filter一直没有时间自己去测试这效果.今天终于抽出时间学习这个CSS3的Filter.不整不知道呀,一整才让我感到吃惊,太强大了.大家先来看个效果吧: 我想光看上面的 ...
- jshint字段的意义
1.安装jshint插件 npm install jshint -g 2.在需要对JS进行语法检测的文件上一层目录添加.jshintrc文件 .jshintrc是一个对象,类似: { " ...
- zabbix3配置短信报警
需求:在zabbix服务器配置短信报警,当服务出现故障达到预警级别是通过发送短信的形式告诉运维人员,以便及时处理. 一.zabbix服务器端配置短信脚本 我的短信脚本放置位置为 /etc/zabbix ...
- 用Canvas实现动画效果
1.清除Canvas的内容 clearRect(x,y,width,height)函数用于清除图像中指定矩形区域的内容 <!doctype html> <html> <h ...
- ASP.NET MVC Filter- 登录验证 【异步刷新列表视图】
public class TAjaxListLoginValidateAttribute : FilterAttribute, IAuthorizationFilter { public void O ...
- vs插件ZunKoIDE
→〇,配置: vs →壹,默认背景图路径 C:\Users\{用户名}\AppData\Local\Microsoft\VisualStudio\14.0\Extensions\gqyswd1b.dv ...