如何使用 grep 查找目录中的 *.part 文件

如何使用 grep 查找目录中的 *.part 文件

我身边很多时候都有这样的youtube-dl例子。当youtube-dl下载文件时,它会在*.part文件中进行下载,类似于大多数文件下载器的做法(参见例如https://www.file-extensions.org/part-file-extension)。

当然,区别(而且很好)是它下载媒体文件名以及部分等。问题是有时我忘记文件名*.part。现在有没有一种方法可以解析目录并告诉/与我共享是否有任何目录或子目录*.part中包含文件?

答案1

查找符合特定条件的文件的命令是find。如果你想在当前目录中搜索,你只需要:

find -name '*.part'

要将其限制为仅文件(无目录或任何其他类型的结果),请使用:

find -type f -name '*.part'

或者,bash你可以这样做:

shopt -s globstar
echo **/*.part

globstar选项的解释如下man bash

$ man bash | grep -A3 '^  *globstar'
    globstar
        If set, the pattern ** used in a pathname expansion  context
        will  match  all files and zero or more directories and 
        subdirectories.  If the pattern is followed by a /, only 
        directories and subdirectories match.

或者,如果您不需要递归,如果您只想要此目录中的文件而不关心子目录,只需执行以下操作:

ls *.part

相关内容