日期:2014-05-16  浏览次数:20636 次

老师讲第二遍了,可讲得太快,我还是没弄懂,关于unix的文件的语句提取?
在unix里面操作的
比如有两个文件,里面有数据库的关于创建索引的语句,创建存储过程的语句和创建表的语句如create table XXX,什么的,我现在要做的就是将这两个文件中关于创建表的语句,把它提取出来,以此来查询两个文件中不同的表的记录?也就是看两个文件中的表名不同的,把它统计出来,

------解决方案--------------------
find .|xargs grep "create table"
不知道楼主是不是这个意思?
------解决方案--------------------
探讨
引用:
find .|xargs grep "create table"
不知道楼主是不是这个意思?


那请问,我用这个指令得到两个新文件,每一行都是create table xxx了,
再怎样做,就可以将两个文件中不同的表名提取出来呢?
能说得详细一点吗?放心,不会亏待你的,

------解决方案--------------------
探讨
find .|xargs grep -o "create table [a-zA-Z.]*"|awk '{print $3}'
这样出来应该就是表名了,你在脚本里就可以直接处理了

------解决方案--------------------
探讨
引用:
find .|xargs grep -o "create table [a-zA-Z.]*"|awk '{print $3}'
这样出来应该就是表名了,你在脚本里就可以直接处理了

这个实现还会更复杂一点.
比如ms_sql
create table [123](no int)