杂知识点

1)  runtime_error 用到的头文件 <stdexcept>

2)  vs2005 MSVCP80D.dll找不到的解决方案, 参考:http://www.cppblog.com/codekitten/archive/2009/04/01/55124.html

3)  dos命令之find使用常识:

DOS命令之Find命令的用法
[ 2006-11-27 8:39:00 | By: 如风飘渺 ]
 

使用Oracle的时候常常想,在NT上类似于UNIX里的grep的命令是什么呢?
查了一下,其实find命令就可以实现这个类似的功能。



1.系统帮助

C:>find /?
在文件中搜索字符串。

FIND [/V] [/C] [/N] [/I] "string" [[drive:][path]filename[ ...]]

/V 显示所有未包含指定字符串的行。
/C 仅显示包含字符串的行数。
/N 显示行号和查询结果的行数据。
/I 搜索字符串时忽略大小写。
"string" 指定要搜索的文字串,
[drive:][path]filename 如:c:/tmp/a.txt
指定要搜索的文件。

如果没有指定路径,FIND 将搜索键入的或者由另一命令产生的文字。

2.举例
/N 参数显示行号

C:/oracleRDBMSADMIN>dir *.lis
驱动器 C 中的卷是 本地磁盘
卷的序列号是 402A-3A7E

C:/oracleRDBMSADMIN 的目录

2002-11-07 22:41 2,578 spauto.lis
2002-11-07 22:29 204 spcpkg.lis
2002-11-07 22:29 2,276 spctab.lis
2002-11-07 22:28 2,630 spcusr.lis
2002-11-07 22:28 7,316 spdtab.lis
5 个文件 15,004 字节
0 个目录 484,114,432 可用字节

C:/oracleRDBMSADMIN>find /N "error" spctab.lis

---------- SPCTAB.LIS
[336]SPCTAB complete. Please check spctab.lis for any errors.

C:oracleRDBMSADMIN>find /N "error" spcpkg.lis

---------- SPCPKG.LIS
[13]SPCPKG complete. Please check spcpkg.lis for any errors.

C:oracleRDBMSADMIN>find /N "ORA-" spdtab.lis

---------- SPDTAB.LIS
[3]ORA-00900: 无效 SQL 语句
[6]ORA-01432: 要删除的公用同义词不存在
[9]ORA-02289: 序列(号)不存在
[12]ORA-01432: 要删除的公用同义词不存在
[15]ORA-00942: 表或视图不存在
[18]ORA-01432: 要删除的公用同义词不存在
[21]ORA-00942: 表或视图不存在
[24]ORA-01432: 要删除的公用同义词不存在

在UNIX下,我们要用grep命令:

$ grep ORA- *.lis
spdtab.lis:ORA-00900: 无效 SQL 语句
spdtab.lis:ORA-01432: 要删除的公用同义词不存在
spdtab.lis:ORA-02289: 序列(号)不存在
spdtab.lis:ORA-01432: 要删除的公用同义词不存在
spdtab.lis:ORA-00942: 表或视图不存在
spdtab.lis:ORA-01432: 要删除的公用同义词不存在
spdtab.lis:ORA-00942: 表或视图不存在
spdtab.lis:ORA-01432: 要删除的公用同义词不存在

同样在NT下,find命令也支持多个文件输入

C:oracleRDBMSADMIN>find "ORA-" *.lis

---------- SPAUTO.LIS

---------- SPCPKG.LIS

---------- SPCTAB.LIS

---------- SPCUSR.LIS

---------- SPDTAB.LIS
ORA-00900: 无效 SQL 语句
ORA-01432: 要删除的公用同义词不存在
ORA-02289: 序列(号)不存在
ORA-01432: 要删除的公用同义词不存在
ORA-00942: 表或视图不存在
ORA-01432: 要删除的公用同义词不存在
ORA-00942: 表或视图不存在
ORA-01432: 要删除的公用同义词不存在

看,基本上达到了同样的效果。

2.管道和重定向 Acmd | Bcmd

通过使用管道和重定向,find和其它命令结合可以得到其它你想要的效果。

假定需要 find 命令搜索硬盘,以查找并显示在驱动器 C 上包含字符串“CPU”的文件名要执行该操作,可以使用管道 (|) 将 dir 命令的结果定向到 find,如下例所示:

dir c: /s /b | find "CPU"

因为 find 搜索区分大小写并且 dir 产生的输出是大写的,所以必须用大写字母键入“CPU”或者使用带有/i 开关的 find。
++++++++++++++例子:
netstat -ano -p tcp | find ":80"
netstat -ano |find /N /I "udp"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值