📌  相关文章
📜  查找忽略隐藏文件 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:55:33.943000             🧑  作者: Mango

查找忽略隐藏文件 - Shell/Bash
介绍

在 Shell/Bash 脚本中,我们经常需要查找某个目录下的所有文件,但有时候我们希望忽略隐藏文件(以 . 开头的文件)。本文将介绍如何编写一个查找文件并忽略隐藏文件的 Shell/Bash 脚本。

代码实现

以下是一个示例的 Shell/Bash 脚本,用于查找指定目录下的所有非隐藏文件。

#!/bin/bash

# 函数用于递归查找非隐藏文件
search() {
    local dir=$1
    
    # 遍历目录下的所有文件和子目录
    for file in "$dir"/*; do
        # 判断是否为目录
        if [[ -d "$file" ]]; then
            # 递归调用自身查找子目录
            search "$file"
        else
            # 判断是否为隐藏文件
            if [[ ! ${file##*/} =~ ^\. ]]; then
                # 输出非隐藏文件的路径
                echo "- [$file]($file)"
            fi
        fi
    done
}

# 调用 search 函数查找指定目录下的非隐藏文件
search "/path/to/directory"
使用方法
  1. 将上述代码保存为一个扩展名为 .sh 的文件,如 find_nonhidden_files.sh
  2. 在代码中修改 "/path/to/directory" 为需要查找的目录路径。
  3. 在终端中运行脚本:bash find_nonhidden_files.sh
预期结果

脚本执行后,将会递归查找指定目录下的所有非隐藏文件,并将它们的路径以 Markdown 格式输出。

示例输出:

注意事项
  • 请确保目标目录存在且拥有可读权限。
  • 请确保在执行脚本之前,以及调用 search 函数之前,对目标目录的路径进行正确的输入。
  • 由于脚本使用递归方式查找文件,如果目录结构较大或文件数量较多,执行时间可能较长。

以上就是一个简单的 Shell/Bash 脚本,用于查找指定目录下的非隐藏文件。你可以根据实际需求进行修改和定制,以适应不同的查找场景。