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

时间:2016-12-07 15:17:09

标签: bash macos shell command-line

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

有什么办法吗?

我的文件看起来像这样。作为一个例子

..._P2_A1-(01)_....tx

对我来说,当我第一次参加两次比赛时,我会感到怀疑 QEX2_P2_A1

我确实尝试打印它,但没有成功,例如,这是一个解决方案 Bash: How to print the filename of the nth file in a folderExtract filename and extension in Bash对我不起作用。我试图搜索它,但我找不到任何解决方案

1 个答案:

答案 0 :(得分:2)

您可以使用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}'