Lac*_*che 176
删除当前目录下的所有 *.swp 文件,使用find以下形式之一的命令:
find . -name \*.swp -type f -delete
该-delete选项表示 find 将直接删除匹配的文件。这是与 OP 实际问题的最佳匹配。
使用-type f手段 find 只会处理文件。
find . -name \*.swp -type f -exec rm -f {} \;
find . -name \*.swp -type f -exec rm -f {} +
选项-exec允许 find 为每个文件执行任意命令。第一个变体将对每个文件运行一次命令,第二个变体将通过替换{}尽可能多的参数来运行尽可能少的命令。
find . -name \*.swp -type f -print0 | xargs -0 rm -f
使用管道输出到xargs形成比使用-exec. 该选项-print0告诉find用 ASCII NULL 而不是换行符分隔匹配项,并-0告诉xargs期望以 NULL 分隔的输入。这使得管道构造对于包含空格的文件名是安全的。
有关man find更多详细信息和示例,请参阅。
find /path -type f -name "*.swp" -delete
find /path -type f -name "*.swp" -exec rm -f "{}" +;
Run Code Online (Sandbox Code Playgroud)
bash 4.0
shopt -s globstar
rm -f /path/**/*.swp
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
166330 次 |
| 最近记录: |