构造一个 UNIX 管道,用于查找目录中的所有文件(使用 find ,xargs 和 du 命令)



>我需要构造一个UNIX管道,该管道查找包含单词"english"的目录下的所有文件(使用find命令(并计算每个文件的大小并对其进行排序。 这是我的实现,我收到断言错误,任何输入将不胜感激

find /usr/share/dict -type f -name "english*"| xargs -n 1 du | sort -n

错误消息是

E           AssertionError: assert 44 == 2
E        +  where 44 = len(['4t./.git/branchesr', '4t./.git/objects/infor', '4t./.git/objects/packr', '4t./.git/refs/tagsr', '8t./.cache/v/cacher', '8t./.git/infor', ...])

两个错误:

  1. 文件可以包含"空格" - 用户打印0

  2. 它必须是文件。使用 -类型 f

find /usr/share/dict -type f -name "english*" -print0| xargs -0 du | sort -n

最新更新