小编vol*_*ron的帖子

csh 中的别名循环

为什么会在此处创建别名循环错误:

alias df 'printf "\n"; df -hP | column -t'
Run Code Online (Sandbox Code Playgroud)

但不是这里:

alias df 'df -hP | column -t'
Run Code Online (Sandbox Code Playgroud)

我意识到我可以将别名称为其他名称并且仍然可以工作,但是,我正在尝试了解底层操作。

alias echo csh df

2
推荐指数
2
解决办法
6111
查看次数

Linux:是否找到 | xargs grep 有限制吗?

我历史上做过类似的事情:

find . 2>/dev/null | xargs grep -i something_to_find 2>/dev/null
Run Code Online (Sandbox Code Playgroud)

如果 mypwd是 barfoo ( /foo/bar/baz/foofoo/foobar/foobaz/barfoo),它会找到匹配项。但是,如果我cdto /foo,它不再找到匹配项。


状况:

  • 权限都是775
  • 目录不是符号链接
  • 它们都在同一个文件系统/服务器上

所以我很好奇是否有-maxdepth适用于查找的默认值,或者是否有其他限制来说明为什么这不起作用?


附加信息:

已经发布了一些很棒的评论。以下是一些附加信息:

  • 这是针对 GNU,而不是针对 POSIX
  • find --version : GNU 查找版本 4.2.27
  • grep --version :(GNU grep)2.5.1
  • xargs --version : GNU xargs 版本 4.2.27
  • 删除 STDERR 的重定向与结果或缺少结果无关
  • barfoo(已知有效)中文件的路径没有空格,但是其他目录中的文件/foo/bar可能有空格;不过,我不明白这会有什么问题
  • 我意识到我没有具体说明路径,但这些都是命名良好的目录,不要与任何设备混淆

有趣的发现:

第一个不起作用,但第二个起作用:

  1. find . -type f | xargs grep -i something_to_find
  2. find . -type f -name "*.ext" | xargs grep -i …

linux grep bash find xargs

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

标签 统计

alias ×1

bash ×1

csh ×1

df ×1

echo ×1

find ×1

grep ×1

linux ×1

xargs ×1