欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

ls /tmp/aaa_* 的所有文件,并读取出文件的内容,最后再删除文件 AG chatgpt 有大用 有大大用

要列出、读取并删除 /tmp/aaa_* 的所有文件,你可以使用以下 shell 命令组合:

bash
# 列出所有匹配的文件(可选,仅用于确认) ls /tmp/aaa_* # 读取并删除每个文件 for file in /tmp/aaa_*; do    if [ -f "$file" ]; then        echo "=== 文件内容: $file ==="        cat "$file"        rm -v "$file"    fi done

或者更简洁的单行版本:

bash
for f in /tmp/aaa_*; do [ -f "$f" ] && echo "=== $f ===" && cat "$f" && rm -v "$f"; done

注意事项:

  1. ${file} 也可以用 $file 简写

  2. [ -f "$file" ] 确保只处理普通文件(不包括目录)

  3. rm -v 的 -v 参数会显示删除的文件名(verbose模式)

  4. 如果没有任何匹配的文件,shell 默认会原样输出 aaa_*,可以通过 shopt -s nullglob 避免这种情况


普通分类: