Linux 构造查找目录中所有文件的UNIX管道(使用find、xargs和du命令)
我需要构造一个UNIX管道,查找包含单词“english”的目录下的所有文件(使用find命令),并计算每个文件的大小并对它们进行排序。 这是我的实现,我得到一个断言错误,任何输入都将受到赞赏Linux 构造查找目录中所有文件的UNIX管道(使用find、xargs和du命令),linux,unix,embedded-linux,unix-timestamp,Linux,Unix,Embedded Linux,Unix Timestamp,我需要构造一个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
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', ...])
两个错误:
find/usr/share/dict-type f-name“english*”-print0 | xargs-0 du | sort-n
“获取断言错误”。有趣。请更新您的Q以显示错误消息的确切文本。(别让我们猜;-),好吗?)。祝你好运。我已更新了错误消息。很难理解du
、xargs
或sort
是如何生成该消息的。尝试从管道右侧删除元素(即首先sort
,然后du
),并隐藏std out输出,即/dev/null
。让我们知道哪个程序正在生成该消息。祝你好运