[20181219]script使用小技巧.txt
2018-12-20 09:33:34来源:博客园 阅读 ()
[20181219]script使用小技巧.txt
--//前几天在使用strace时遇到问题,它的输出使用标准错误句柄.
--//我在想平时使用sqlplus如果输出字段很多,屏幕看起来一片混乱.
--//是否可以通过使用script记录操作,通过shell一些命令的功能实现更好的显示.通过例子说明:
1.环境:
--//首先启动scripts,加入-f参数的主要目的是马上输出,避免缓存的影响.
-f Flush output after each write. This is nice for telecooperation: One person does 'mkfifo foo; script -f foo' and
another can supervise real-time what is being done using 'cat foo'.
2.演示一:
--//session 1:
$ script -f /tmp/a.txt
Script started, file is /tmp/a.txt
--//登录数据库会话窗口,设置linesize大一些.
SCOTT@book> set linesize 20000
SCOTT@book> set pagesize 0
--//打开另外的终端窗口,执行:
--//session 2:
$ tail --line=500 -f /tmp/a.txt
--//这样就能看到刚才输入的命令.
--//千万注意不要执行script的会话终端查看/tmp/a.txt,这样会导致/tmp/a.txt迅速增大,相当于一个环.而且自己清楚那个窗口是输入命令,
--//那个是使用tail查看的窗口.
--//session 2:
$ tail --line=500 -f /tmp/a.txt | cut -c1-200
--//回到打开session 1:
SCOTT@book> set numw 12
SCOTT@book> select * from v$database;
--//session 2:
SCOTT@book> select * from v$database;
DBID NAME CREATED RESETLOGS_CHANGE# RESETLOGS_TIME PRIOR_RESETLOGS_CHANGE# PRIOR_RESETLOGS_TIM LOG_MODE CHECKPOINT_CHANGE# ARCHIVE_CHANGE# CONTROL CONTROLF
------------ -------------------- ------------------- ----------------- ------------------- ----------------------- ------------------- ------------ ------------------ --------------- ------- --------
1337401710 BOOK 2018-11-29 11:32:09 925702 2015-11-24 09:11:12 1 2013-08-24 11:37:30 ARCHIVELOG 13816048396 13815976887 CURRENT 2018-11-
--//CONTROLFILE_CREATED字段被截断了,适当调出输出宽度就比较看到了.
3.演示二:
--//演示一仅仅显示前面一段也许不是我需要的信息.可以通过cut过滤输出特定的字段.
--//session 1:
SCOTT@book> set colsep |
--//这样就可以实现显示使用字符"|"分割.假设我现在要显示v$database视图中supp开头的字段.可以进行如下操作.
--//session 2:
$ tail --line=500 -f /tmp/a.txt | grep --binary-files=text SUPP
--//注意:grep 一定要加入--binary-files=text,因为typescript文件grep把它看成二进制文件,要把它当文本文件对待.
--//回到session 1:
SCOTT@book> @desc v$database
--//切换到session 2,看到如下输出:
30 SUPPLEMENTAL_LOG_DATA_MIN VARCHAR2(8)
31 SUPPLEMENTAL_LOG_DATA_PK VARCHAR2(3)
32 SUPPLEMENTAL_LOG_DATA_UI VARCHAR2(3)
40 SUPPLEMENTAL_LOG_DATA_FK VARCHAR2(3)
41 SUPPLEMENTAL_LOG_DATA_ALL VARCHAR2(3)
51 SUPPLEMENTAL_LOG_DATA_PL VARCHAR2(3)
--//这样可以确定显示字段的位置是30,31,32,41,50.奇怪SUPPLEMENTAL_LOG_DATA_MIN长度是8.按ctrl+c退出tail命令,打入如下:
$ tail --line=500 -f /tmp/a.txt | cut -d"|" -f1,2,30,31,32,40,41,51
--//回到session 1,执行如下:
SCOTT@book> select * from v$database;
--//session 2,看到如下:
SCOTT@book> select * from v$database;
DBID|NAME |SUPPLEME|SUP|SUP|SUP|SUP|SUP
------------|--------------------|--------|---|---|---|---|---
1337401710|BOOK |NO |NO |NO |NO |NO |NO
--//另外有一些版本带有scriptreplay,可以参考链接:http://blog.itpub.net/267265/viewspace-1276764/
--//总之通过shell一些过滤命令显示自己需要的信息.
--//另外退出script后定期清理script的输出文件.
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 树莓派使用 OLED 屏显示图片及文字 2020-06-05
- 附020.Nginx-ingress部署及使用 2020-06-02
- tmux简单使用 2020-05-30
- 操作系统第六次实验报告——使用信号量解决哲学家进餐问题 2020-05-28
- 公有云技术 2020-05-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash