当前位置: 技术问答>linux和unix
求教找出目录下文件内容中完全重复的行
来源: 互联网 发布时间:2016-12-04
本文导语: 在一个目录下 有很多子目录 (很多很多) 里面的文件全是sql 脚本 大部分是insert create update语句 但是有很多重复的 请问如何找出这些sql脚本中完全重复的语句呢 找出完全重复的sql语句然后输出 PS:找出重复的sql语...
在一个目录下 有很多子目录 (很多很多)
里面的文件全是sql 脚本 大部分是insert create update语句
但是有很多重复的
请问如何找出这些sql脚本中完全重复的语句呢
找出完全重复的sql语句然后输出
PS:找出重复的sql语句后 还要把路径找出来
比如 aaa/bbb/1.sql 中有一条语句和 ccc/ddd/2.sql 中的一条重复了
要输出这条重复的语句然后还需要把 aaa/bbb/1.sql 和ccc/ddd/2.sql
这两个路径输出出来
我实在找不到办法了 请各位高手看看
里面的文件全是sql 脚本 大部分是insert create update语句
但是有很多重复的
请问如何找出这些sql脚本中完全重复的语句呢
找出完全重复的sql语句然后输出
PS:找出重复的sql语句后 还要把路径找出来
比如 aaa/bbb/1.sql 中有一条语句和 ccc/ddd/2.sql 中的一条重复了
要输出这条重复的语句然后还需要把 aaa/bbb/1.sql 和ccc/ddd/2.sql
这两个路径输出出来
我实在找不到办法了 请各位高手看看
|
你刚才说:
有哪些脚本里有相同的sql语句 然后给删了 不然现在这种重复的语句 太多了直接导致数据库效率严重下降
你的目的就是为了去掉重复 你管他哪个文件和哪个文件里有重复 直接得到一个没有重复的文件 然后使用这个文件不就行了。
2万个文件 如果多个文件里都有重复的 来回交叉 你是要留哪一个文件里重复的 交叉的显示了哪个文件和哪个文件里相同的 你肉眼看得过来? 要这样找 太麻烦 要不你拿程序开发区 再详细描述你的需求 让人家给你找个算法。
|
比较麻烦
一个不完备的方案,参考一下吧
首先,find yourpath -name "*.sql" > f.lst
然后执行下面的脚本
一个不完备的方案,参考一下吧
首先,find yourpath -name "*.sql" > f.lst
然后执行下面的脚本
#!/bin/bash
while read f1
do
while read f2
do
if [[ $f1 = $f2 ]];then
continue
fi
a=$(comm -12