繁体   English   中英

ls | grep -c和完整路径?

[英]ls | grep -c and full path?

在您开始说之前已经回答了这个问题之前,先说我搜索了很多东西,但真的不觉得我的问题已得到回答。 我没有避免搜索! 因此,我可能很难理解Linux命令,但是我一直在回避搜索。 :)好的,现在我的问题。

我可以使用ls | grep -c /full/path/to/file ls | grep -c /full/path/to/file来计算ls | grep -c /full/path/to/file出现次数,但是在与我要查找的文件所在的目录不同的目录中执行命令时却该怎么办? 假设我想查看我的“结果”目录中有多少个txt文件,我可以执行ls | grep -c /full/path/to/results/*.txt ls | grep -c /full/path/to/results/*.txt而我在另一个目录中吗?

虽然我在那个目录中有txt文件,但是当我从另一个目录运行命令时,我总是得到零:(发生了什么?我只能对当前目录使用ls吗?

您必须使用ls <dirname> Plain ls仅默认为当前目录。

您可以通过find <dir> -name "*.txt" | grep -c txt find <dir> -name "*.txt" | grep -c txtfind <dir> -name "*.txt" | wc -l find <dir> -name "*.txt" | wc -l

但是,您也可以做ls * | grep \\.txt$ ls * | grep \\.txt$ 请阅读手册以查找差异。

  • grep接受正则表达式,而不是glob。 /foo/bar/*.txt是glob,请尝试/foo/bar/.*\\.txt
  • ls还会列出当前目录下的文件/目录,它不会列出进行某些测试的full path ,您会很容易看到它。
  • ls可能单行输出结果,这可能会使您的grep -c给出错误的结果。 因为grep会进行基于行的匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM