0

我是一名学习 bash 的学生。我目前正在尝试打印一系列绝对文件路径来运行其他脚本。

目前echo $PWD, *In不工作。我的文件结构看起来像。

/home/hayden/myProject/gene

在这个目录中有几个文件夹,但我对三个特别感兴趣。

/largeIn/
/mediumIn/
/smallIn/

在这些文件夹中,有不同名称的文件,它们都以.fa.

有没有一种简单的方法可以将文件路径提取到 txt 文件?

看起来像这样

/home/hayden/myProject/gene/largeIn/file.fa
/home/hayden/myProject/gene/mediumIn/file.fa
/home/hayden/myProject/gene/smallIn/file.fa

谢谢

编辑:@Afle 解决方案成功。

4

1 回答 1

1

查看标准的 Linux查找实用程序。当您使用任何 shell 时,它将成为您的朋友,而不仅仅是 bash。它是用于在目录中递归查找文件的通用实用程序。

在您的特定情况下,您会执行以下操作:

查找 /home/hayden/myProject/gene -n​​ame '*.fa'

这将在 /home/hayden/myProject/gene 下找到名称以“.fa”结尾的所有文件(即使它们在“gene”之下的多个级别。

现在,如果您知道文件正是您的示例所在的位置,您可以简单地使用 bash 的glob'ing并将它们称为:

/home/hayden/myProject/gene/*In/file.fa

于 2016-07-11T21:39:38.437 回答