最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

通过Shell脚本格式化tnsnames.ora内容案例一则

来源:动视网 责编:小采 时间:2020-11-09 07:50:40
文档

通过Shell脚本格式化tnsnames.ora内容案例一则

通过Shell脚本格式化tnsnames.ora内容案例一则:在配置参数的过程中,首先需要查看tnsnames.ora中的内容,如果需要配置的tns串已经在文件中存在,则直接将相关参数指向某个tns串 最近总结了下工作过程中的工作量,发现为开发人员配置参数占据了较大的一块,于是便想通过shell脚本简化工作流程操作及减少工
推荐度:
导读通过Shell脚本格式化tnsnames.ora内容案例一则:在配置参数的过程中,首先需要查看tnsnames.ora中的内容,如果需要配置的tns串已经在文件中存在,则直接将相关参数指向某个tns串 最近总结了下工作过程中的工作量,发现为开发人员配置参数占据了较大的一块,于是便想通过shell脚本简化工作流程操作及减少工


在配置参数的过程中,首先需要查看tnsnames.ora中的内容,如果需要配置的tns串已经在文件中存在,则直接将相关参数指向某个tns串

最近总结了下工作过程中的工作量,发现为开发人员配置参数占据了较大的一块,于是便想通过shell脚本简化工作流程操作及减少工作量。

在配置参数的过程中,首先需要查看tnsnames.ora中的内容,如果需要配置的tns串已经在文件中存在,则直接将相关参数指向某个tns串即可。如果不存在,则涉及在tnsnames.ora中添加tns串,再设置相关参数。
在现在的工作中,我们确定通过cat查看tnsnames.ora,接着结合管道和grep来确认tns串是否存在,但这样通常过于繁琐,我们想简单写个shell脚本,以后只需要将tnsnames.ora作为参数传入,即可输出相关结果及提示相应的操作。

在编写脚本过程中,首先面临的一个问题就是tnsnames.ora中tns串的格式不一致:有的tns在同一行,有的tns串分好几行,这样的话,我们需要对文件格式进行格式化。为了便于后续的操作,我们决定将所有的tns串都整理成一行。
格式化脚本主要内容如下:
sed '/^$/d' $1 | sed 's/ //g' | sed ':a;N;$!ba;s/\=\n/\=/g' | sed ':a;N;$!ba;s/\n(/(/g' | sed ':a;N;$!ba;s/\n)/)/g' > tnsnames.result
脚本的主要思路为:
1.首先将tnsnames.ora里的空行和空格去除。
2.将以 ( 和 ) 开头的行,整理到一行
3.将处理后的结果重定向到一个文件中,,保存下来。

对于sed ':a;N;!ba;s/\n(/(/g' 命令的解释:
:a创建一个标记。
N 追加当前行和下一行到模式空间中
ba如果处于最后一行前,跳转到之前的标记处
$!ba($!意思是不在最后一行做后面的操作,最后一行,特殊处理。)

对于查找到tns串是否存在后的操作,由于较简单,略过。

本文永久更新链接地址:

文档

通过Shell脚本格式化tnsnames.ora内容案例一则

通过Shell脚本格式化tnsnames.ora内容案例一则:在配置参数的过程中,首先需要查看tnsnames.ora中的内容,如果需要配置的tns串已经在文件中存在,则直接将相关参数指向某个tns串 最近总结了下工作过程中的工作量,发现为开发人员配置参数占据了较大的一块,于是便想通过shell脚本简化工作流程操作及减少工
推荐度:
标签: 格式 format ora
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top