Bash 如何打印文件夹中所有文件的名称

Bash 如何打印文件夹中所有文件的名称,bash,macos,shell,command-line,Bash,Macos,Shell,Command Line,我在一个文件夹中有10000个文件,我想知道哪一个是双重化的。 我只想把它们的名字保存在一个txt文件中 有什么办法吗 我的文件看起来像这样。例如 ..._P2_A1-(01)_....tx 对我来说,当我有两次第一部分时,它是双重的 QEX2\u P2\u A1 我确实尝试过打印它,但没有成功。例如,这里有一个解决方案 或者对我来说不起作用。我已尝试搜索它,但找不到任何解决方案您可以使用printf+awk打印所有部分重复的文件名: printf "%s\n" *.txt | awk -F

我在一个文件夹中有10000个文件,我想知道哪一个是双重化的。 我只想把它们的名字保存在一个txt文件中

有什么办法吗

我的文件看起来像这样。例如

..._P2_A1-(01)_....tx
对我来说,当我有两次第一部分时,它是双重的
QEX2\u P2\u A1

我确实尝试过打印它,但没有成功。例如,这里有一个解决方案
或者对我来说不起作用。我已尝试搜索它,但找不到任何解决方案

您可以使用
printf+awk
打印所有部分重复的文件名:

printf "%s\n" *.txt | awk -F '_' '{k=$1 FS $2 FS $3} k in seen{dups[seen[k]]=k; dups[$0]=k}
  {seen[k]=$0} END{for (f in dups) print dups[f] " => " f}'

在一个给定的目录中,两个文件不能有相同的名称。现在比较容易混淆,但仍然缺少很多信息。请提供一份报告,并附上您迄今为止尝试过的内容。@nik:或者没有副本