目录中的重复类名

时间:2014-05-13 08:54:30

标签: linux grep find command

假设我有3个文件说:

  1. LIB /模型/ LIB / 1.class.php

    class A { }
    
  2. LIB /模型/存储/ 2.class.php

    class A { }
    
  3. LIB /模型/ LIB / ABC / 3.class.php

    class A { }
    
  4. 我可以编写一些可以解决问题的grep命令。

    我搜索但它不起作用

    找到。 -name'* .class.php'| xargs basename |排序| uniq -d

1 个答案:

答案 0 :(得分:0)

如果您的文件名不包含空格:

$ awk '/class/{class2files[$2] = class2files[$2] FILENAME FS}
END {
    for (class in class2files) {
        n = split(class2files[class],files)
        if (n > 2) {
            print "class:", class
            for (i=1;i<n;i++) {
                print "\tfile:", files[i]
            }
        }
    }
}' $(find . -name '*.class.php' -print)

如果他们这样做,那么在命令之前将shell中的IFS设置为'\ n'。