16

在 OSX 终端中:

du -h | sort -nr
-bash:  sort: command not found

which sort
/usr/bin/sort

奇怪的是:我尝试重现错误,它似乎是完全随机的。我的 PATH 回应:

/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin:/usr/texbin:/Users/sytycs/.rvm/bin

这只发生在管道和发生时grepmore等等less。知道是什么原因造成的吗?

4

4 回答 4

43

这可能是因为您使用了非美国布局的键盘布局(我也遇到过)。在德语布局中,管道是用Alt+键入的7,因此您之后按Alt+的机会很高Space,这将产生一个不间断的空格

快速解决方案:添加行

"\xC2\xA0": " "

到您的~/.inputrc(如果您使用的是 bash)。这会将不间断的空间映射到应该解决问题的正常空间。

如果您想要更多详细信息(或者如果您对如何追踪此类问题感兴趣),我前段时间写了一篇关于它的博客文章。

于 2014-08-17T15:14:29.510 回答
36

那个空间不是空间。擦除并更换它。

于 2012-01-01T17:34:05.313 回答
0

~/.inputrc 的技巧不适用于 zsh。但是在这里你可以配置 iTerm 在你输入 alt+space 时发送一个空格,例如

于 2017-01-25T16:44:55.280 回答
0

使用管道时, Bash 对空间非常敏感。它们全部删除。通过运行以下命令,我遇到了同样的问题:

|awk '{$1=$1};1' |  tr '[:upper:]' '[:lower:]' |  sort | uniq 
| awk '{ print length, $0 }' | sort -n -s | cut -d" " -f2- > dest_file

错误如下:

zsh: command not found:   tr
zsh: command not found:   sort

然后我删除了所有的间隔,它得到了解决:

|awk '{$1=$1};1'|tr '[:upper:]' '[:lower:]'|sort|uniq|awk '{ print length, $0 
}'|sort -n -s|cut -d" " -f2- >
于 2018-07-19T18:12:30.193 回答