【问题标题】:how can I print the name of all files from a folder如何打印文件夹中所有文件的名称
【发布时间】:2017-04-22 14:40:43
【问题描述】:

我在一个文件夹中有 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 这对我不起作用。我试图搜索它,但我找不到任何解决方案

【问题讨论】:

  • 给定目录中的两个文件不能具有相同的名称。
  • 现在它不那么令人困惑了,但它仍然缺乏很多信息。请提供minimal reproducible example 以及您目前尝试的方法。

标签: bash macos shell command-line


【解决方案1】:

您可以使用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: 或者没有重复
猜你喜欢
  • 1970-01-01
  • 2021-09-06
  • 2021-05-27
  • 1970-01-01
  • 2011-06-01
  • 2020-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多