欢迎各位兄弟 发布技术文章
这里的技术是共享的
要列出、读取并删除 /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
或者更简洁的单行版本:
bashfor f in /tmp/aaa_*; do [ -f "$f" ] && echo "=== $f ===" && cat "$f" && rm -v "$f"; done
注意事项:
${file} 也可以用 $file 简写
[ -f "$file" ] 确保只处理普通文件(不包括目录)
rm -v 的 -v 参数会显示删除的文件名(verbose模式)
如果没有任何匹配的文件,shell 默认会原样输出 aaa_*,可以通过 shopt -s nullglob 避免这种情况