小编Leo*_*Leo的帖子

使用查找导致 ls 中的换行符的目录名称中的 bash 空格

我无法处理文件名中的空格

脚本:使用 find 我选择所有目录,它们被输入 ls 以计算目录中的文件数

bash代码:

#!/bin/bash

for adir2 in $(find . -type d);
do
        echo "[$adir2]"
        DIRCOUNT=$(ls -1A $adir2 |wc -l)
        if [ $DIRCOUNT -eq 0 ]; then
          echo $adir2 "is empty"
        fi
done
Run Code Online (Sandbox Code Playgroud)

测试设置:

mkdir testdir
cd testdir
mkdir 01\ dir
Run Code Online (Sandbox Code Playgroud)

在这里运行脚本

结果:

[.]
[./dir]
./dir is empty
[./01]
ls: cannot access './01': No such file or directory
./01 is empty
[dir]
dir is empty
Run Code Online (Sandbox Code Playgroud)

我正在使用 Ubuntu 20

备注: 以下不起作用:

find /path/to/dir -empty -type d
Run Code Online (Sandbox Code Playgroud)

显示所有目录。显然,空属性不存在。该位置是带有 ext4 …

bash ubuntu ls

1
推荐指数
1
解决办法
81
查看次数

标签 统计

bash ×1

ls ×1

ubuntu ×1