【问题标题】:list all files in multiple directories列出多个目录中的所有文件
【发布时间】:2013-11-13 01:13:32
【问题描述】:

我想列出某个目录中的所有文件,并列出它们的完整路径。

我有一系列这样的目录:

user.newskims.131017222704/
user.newskims.131017222741/
user.newskims.131017222822/
user.newskims.131017222949/

如果我这样做了

ls user.newskims.131017222*

输出中有这样的行,我想消除:

user.newskims.131017222822:

它也没有给出完整的路径。有没有办法让它列出里面的所有文件,只有那些文件,没有额外的行,并且有完整的路径?

【问题讨论】:

  • find user.newskims.131017222*?
  • 其实这行不通,因为它还会列出目录,而不仅仅是目录中的文件。
  • find user.newskims.131017222* -type f

标签: bash directory ls


【解决方案1】:

您可以使用printf 列出具有给定目录的完整路径的文件:

printf "$PWD%s\n" user.newskims.131017222/*

【讨论】:

  • 这不起作用,我必须支持通配符目录名称,因为可能有多个目录包含我感兴趣的文件,重点是避免必须做目录一个接一个。
  • 你可以随时使用printf "$PWD%s\n" user.newskims.131017*/* 命令
猜你喜欢
  • 2012-09-02
  • 2017-02-16
  • 2011-06-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-14
相关资源
最近更新 更多