I want to generate a list of files that have:Same nameDifferent contentin a directory (including all children directories and content).  How to do? Bash, perl, anything is fine.So, two files with the same name and same content should not show up.
Find files with same name but different content?
bash;find;directory;perl;recursive
Update: fixed a typo in the script: changed print $NF to print $3; also tidied things up, and added some comments.  Assuming file names do not contain \n, the following prints out a sorted list which breaks (as in: section control breaks) at unique file name, unique md5sum, and shows the corresponding group of file paths.   #!/bin/bash# Choose which script to use for the final awk step out_script=out_all# Print all duplicated file names, even when md5sum is the same out_all='{ if( p1 != $1 ) { print nl $1; print I $2 }      else if( p2 != $2 ) { print I $2 }      print I I $3; p1=$1; p2=$2; nl=\n }   END { printf nl}'# Print only duplicated file names which have multiple md5sums.out_only='{ if( p1 != $1 ) { if( multi ) { print pend }                             multi=0; pend=$1 \n I $2 \n }       else if( p2 != $2 ) { multi++; pend=pend I $2 \n }        pend=pend I I $3 \n; p1=$1; p2=$2 }    END { if( multi ) print pend }'# The main pipeline find ${1:-.} -type f -name '*' |  # awk for duplicate namesawk -F/ '{ if( name[$NF] ) { dname[$NF]++ }           name[$NF]=name[$NF] $0 \n }      END { for( d in dname ) { printf name[d] }    }' |                             # standard md5sum output xargs -d'\n' md5sum |               #  ==text, *==binarysed 's/ [ *]/\x00/' |               # prefix with file name  awk -F/ '{ print $3 \x00 $0 }' |  # sort by name. md5sum, path sort |                              # awk to print resultawk -F\x00 -vI=    ${!out_script}Output showing only file names with multiple md5safile.html   53232474d80cf50b606069a821374a0a      ./test/afile.html      ./test/dir.svn/afile.html   6b1b4b5b7aa12cdbcc72a16215990417      ./test/dir.svn/dir.show/afile.htmlOutput showing all files with the same name.     afile.html   53232474d80cf50b606069a821374a0a      ./test/afile.html      ./test/dir.svn/afile.html   6b1b4b5b7aa12cdbcc72a16215990417      ./test/dir.svn/dir.show/afile.htmlfi    le.html   53232474d80cf50b606069a821374a0a      ./test/dir.svn/dir.show/fi    le.html      ./test/dir.svn/dir.svn/fi    le.htmlfile.html   53232474d80cf50b606069a821374a0a      ./test/dir.show/dir.show/file.html      ./test/dir.show/dir.svn/file.htmlfile.svn   53232474d80cf50b606069a821374a0a      ./test/dir.show/dir.show/file.svn      ./test/dir.show/dir.svn/file.svn      ./test/dir.svn/dir.show/file.svn      ./test/dir.svn/dir.svn/file.svnfile.txt   53232474d80cf50b606069a821374a0a      ./test/dir.show/dir.show/file.txt      ./test/dir.show/dir.svn/file.txt      ./test/dir.svn/dir.show/file.txt      ./test/dir.svn/dir.svn/file.txt