如何在 Linux 上使用 find 命令仅获取文件名?

Linux find 语句是使用最广泛的语句之一,它允许我们遍历文件层次结构。它主要用于查找特定的文件或目录,我们还可以附加不同的其他 Linux 语句或标志来增强或执行复杂的操作。

让我们探索一个find语句的示例以更好地理解它。

在下面显示的 linux 代码中,我试图在我的下载文件夹中搜索一个文件,为此我使用了find语句。

find sample.sh
输出结果
sample.sh

请注意,如果 find 命令能够定位该文件,那么它将简单地打印文件的名称,否则它将不会返回终端进程将终止的任何内容。

现在我们知道 find 语句是如何工作的,让我们探讨一下我们只想获取文件名而不是随附的所有内容的情况。

如果您正在使用GNU终端,那么下面显示的命令将帮助您实现这一目标。

只需将命令写入您的 GNU 终端

find ./ -type f -printf "%f\n"
输出结果
immukul@192 ~ % find ./ -type f -printf "%f\n"

Applications

C: emp1

Desktop

Documents

Downloads

Exercism

IdeaProjects

Library

MEGAsync

MEGAsync Downloads

Movies

Music

Pictures

Public

PycharmProjects

应该注意的是,如果您不在 GNU 终端上,那么您可能会收到一个错误,指出找不到-printf。在这种情况下,您可以使用 bash 脚本来帮助我们实现相同的输出。

考虑下面显示的脚本代码 -

for file in **; do echo ${file##*/}; done

只需将上述代码保存在以.sh扩展名结尾的文件中,然后使用以下命令授予文件权限 -

chmod 777 out.sh

最后执行 shell 脚本,使用以下命令 -

./out.sh
输出结果
immukul@192 ~ % ./out.sh

Applications

C: emp1

Desktop

Documents

Downloads

Exercism

IdeaProjects

Library

MEGAsync

MEGAsync Downloads

Movies

Music

Pictures

Public

PycharmProjects

以上是 如何在 Linux 上使用 find 命令仅获取文件名? 的全部内容, 来源链接: utcz.com/z/360800.html

回到顶部