bash - 删除名称为空(不可见)的文件有哪些好方法?

标签 bash filesystems

我在我的代码库中发现了一些名称为空的文件,但我不知道如何找到它们并将它们全部删除。

最佳答案

假设您有权访问 find 命令,

find . -regex ".*\/[[:space:]][[:space:]]*" -exec rm {} \;

如果您想在实际删除之前进行检查,

$ mkdir -p c/d # make some empty filenames
$ touch " " " b" "a b"
$ touch "c/ " "c/ b" "c/a b"
$ touch "c/d/ "
$ touch "c/d/  "
# echo the filenames with markings
$ find . -regex ".*\/[[:space:]][[:space:]]*" -exec echo '{}<blank' \;
./ <blank
./c/ <blank
./c/d/ <blank
./c/d/  <blank

注意:令我惊讶的是,这甚至适用于全角空格。

关于bash - 删除名称为空(不可见)的文件有哪些好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5631929/

相关文章:

javascript - 使用 JavaScript/Python/Bash 管理 API 调用

linux - 如何将多个子目录下的所有文件移动到一个目录下

java - 无法使用vertx创建文件

c++ - 有什么方法可以知道目录是否包含子目录?

bash - 如何在 git bash 中使用 yii2 子命令?

regex - 使用 sed 或其他 bash 工具删除字符串末尾的模式

python - bash 中的标准输出被一行代码阻塞

linux - Bash Linux 脚本 : Putting variables after other over and over

c# - 如何提高大量较小文件的读写速度或性能