构建查找目录中所有文件的 UNIX 管道(使用 find、xargs 和 du 命令)
Constructing a UNIX pipeline that finds all files in a directory (using find ,xargs and du commands )
我需要构建一个 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(['4\t./.git/branches\r', '4\t./.git/objects/info\r', '4\t./.git/objects/pack\r', '4\t./.git/refs/tags\r', '8\t./.cache/v/cache\r', '8\t./.git/info\r', ...])
两个错误:
文件可以包含 "spaces" - 用户 print0
必须是文件。使用 -type f
find /usr/share/dict -type f -name "english*" -print0| xargs -0 du | sort -n
我需要构建一个 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(['4\t./.git/branches\r', '4\t./.git/objects/info\r', '4\t./.git/objects/pack\r', '4\t./.git/refs/tags\r', '8\t./.cache/v/cache\r', '8\t./.git/info\r', ...])
两个错误:
文件可以包含 "spaces" - 用户 print0
必须是文件。使用 -type f
find /usr/share/dict -type f -name "english*" -print0| xargs -0 du | sort -n