[20170705]diff比较执行结果的内容.txt

发布时间 - 2017-07-06 00:00:00    点击率:

[20170705]diff比较执行结果的内容.txt

--//有时候需要比较2个命令输出的结果进行比较,比较笨的方法如下,例子:

$  lsnrctl status listener_scan2 > /tmp/b2.txt
$  lsnrctl status listener_scan3 > /tmp/b3.txt
$  diff -nur /tmp/b2.txt /tmp/b3.txt

--//很明显这样要生成2个文件,然后比较,实际上利用shell可以很简单的实现.

$  lsnrctl status listener_scan3 | diff /tmp/2.txt -
--//这样减少1个文件的生成,可以再减少文件生成吗?

$  diff
--//如何理解呢?
$  echo  /dev/fd/63 /dev/fd/62
--//实际上62,63就是打开的文件句柄.当然执行完马上关闭.

$  ls -l /dev/fd
lrwxrwxrwx 1 root root 13 2014-12-11 02:24:57 /dev/fd -> /proc/self/fd

$  ls -l /dev/fd/
total 0
lrwx------ 1 grid oinstall 64 2017-07-05 16:16:07 0 -> /dev/pts/4
lrwx------ 1 grid oinstall 64 2017-07-05 16:16:07 1 -> /dev/pts/4
lrwx------ 1 grid oinstall 64 2017-07-05 16:16:07 2 -> /dev/pts/4
lr-x------ 1 grid oinstall 64 2017-07-05 16:16:07 3 -> /proc/101318/fd

--//写一个简单的shell脚本就很好理解了(注意这种写法不是很严谨):
--//我直接读取句柄63,62的内容.

$  cat a.sh
#! /bin/bash
echo  diff /dev/fd/63 /dev/fd/62

$  . a.sh
/dev/fd/63 /dev/fd/62
6c6
---
> connecting to (description=(address=(protocol=ipc)(key=listener_scan3)))
9c9
---
> alias                     listener_scan3
11,12c11,12
---
> start date                30-jun-2017 12:00:58
> uptime                    5 days 4 hr. 17 min. 43 sec
17c17
---
> listener log file         /u01/app/11.2.0.4/grid/network/log/listener_scan3.log
19,20c19,20
---
>   (description=(address=(protocol=ipc)(key=listener_scan3)))
>   (description=(address=(protocol=tcp)(host=192.168.100.107)(port=1521)))

--//想到这里,我终于理解exp/imp on the fly.例子:

$ exp scott/book file=>(gzip >t.dmp.gz) tables=emp
$ imp scott/book full=y  file=


# 句柄  # 很好  # 不是很  # 很简单  # 很明显  # 方法如下  # 我终于  # fd  # ls  # root 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 图册素材网站设计制作软件,图册的导出方式有几种?  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程  如何快速搭建支持数据库操作的智能建站平台?  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何在阿里云虚拟主机上快速搭建个人网站?  使用Dockerfile构建java web环境  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  详解jQuery中基本的动画方法  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何快速建站并高效导出源代码?  如何快速启动建站代理加盟业务?  JavaScript如何实现继承_有哪些常用方法  EditPlus中的正则表达式 实战(1)  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  昵图网官方站入口 昵图网素材图库官网入口  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何用IIS7快速搭建并优化网站站点?  Laravel如何自定义错误页面(404, 500)?(代码示例)  如何选择可靠的免备案建站服务器?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  Laravel如何创建自定义中间件?(Middleware代码示例)  Firefox Developer Edition开发者版本入口  Laravel怎么使用Session存储数据_Laravel会话管理与自定义驱动配置【详解】  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  如何快速生成ASP一键建站模板并优化安全性?  如何在建站主机中优化服务器配置?  简单实现Android文件上传  Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧  高性价比服务器租赁——企业级配置与24小时运维服务  zabbix利用python脚本发送报警邮件的方法  如何用5美元大硬盘VPS安全高效搭建个人网站?  大同网页,大同瑞慈医院官网?  canvas 画布在主流浏览器中的尺寸限制详细介绍  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  香港网站服务器数量如何影响SEO优化效果?  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  如何快速使用云服务器搭建个人网站?  Laravel路由怎么定义_Laravel核心路由系统完全入门指南  太平洋网站制作公司,网络用语太平洋是什么意思?  JavaScript中的标签模板是什么_它如何扩展字符串功能  什么是javascript作用域_全局和局部作用域有什么区别?  三星网站视频制作教程下载,三星w23网页如何全屏?  如何在VPS电脑上快速搭建网站?  Laravel怎么在Controller之外的地方验证数据  laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法  Laravel如何保护应用免受CSRF攻击?(原理和示例)  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)  高端企业智能建站程序:SEO优化与响应式模板定制开发