命令wc的功能

时间:2013-01-03 05:27:34

标签: shell

我在这些天使用命令wc编写了许多shell脚本,这非常棒。例如:

  1. 例如,在过去20个小时左右,有16个新用户在FAS注册:
    $ cat messages | grep \
    'fedora-infrastructure:org.fedoraproject.prod.fas.user.create'|wc -l
    16 /*output*/

  2. 计算.目录

    中的代码行

    find . -type f -exec cat '{}' \; | wc -l

  3. 我是Linux的新手,所以我想现在wc可以做什么样的惊人的事情(其他命令支持)不仅基本用法来自手册页 < / p>

2 个答案:

答案 0 :(得分:2)

编辑:听起来您可能会从了解what pipes are, and how they work)中获益最多

在命令行上尝试:

man wc

它为您提供了wc的手册页,您可以使用该页面找到使用该工具可以执行的所有操作。

以下是一些基本的习语/心智模型,可以让你知道什么时候开始学习Linux:

  • wc是一种工具。您可以在[shell][2]中直接与许多工具进行交互,例如:ls(列出当前目录的内容),pwd(打印当前工作目录),{{1} (打印当前时间),以及更高级的内容,例如dateawksedgrep
  • tr语法(但不是|!)称为“pipe”:
    • 默认情况下,命令可以从||standard input)读取或从文件中读取,或者根本不需要读取任何内容(stdin,例如,不能需要输入)
    • 所以当你做ls这样的事情的时候,实际上是在说:
      • 运行ls | wc -l
      • 获取ls的输出,该输出通常会写入ls(标准输出),并将“管道”直接输入stdout的{​​{1}},与stdin的{​​{1}}选项一起计算行数。
  • 由于shell语言中的管道和过滤器范例,wc可以与之交互的其他命令没有详尽的列表。你看到-l之类的东西,只是意味着程序在wc之前输出的任何内容都被输入wc作为输入。

答案 1 :(得分:0)

Unix工具设计得非常简单,wc之类的东西就是非常好的例子。

wc =字数

wc -l =行数

在unix中,您可以使用|

将输出从一个命令指向另一个命令

我们的想法是将这些小工具结合在一起,以达到超出个人能力的结果。

找到

是一个非常强大的命令,有很多选项,但基本上可以找到与指定的谓词和选项匹配的文件的文件名。

man是一个内置于unix中的帮助系统,只需键入man wc即可获取有关wc的信息,您可以将其用于命令行中的大多数命令,只有少数例外情况

Zsh,Antigen&amp; OH-MY-岩组

使用良好的shell和有用的工具可以轻松实现Unix。我建议你使用Zsh,这个设置的简单方法是使用AntigenOh-my-zsh(Antigen将帮助安装Oh-My-Zsh和其他一些工具,所以请遵循它的说明。)

完成设置后,您可以使用Tab自动完成,显示命令,命令选项(适用于许多工具,例如gitfind等...等等。

这将很快将贝壳阴暗的黑暗转变为充满活力的环境。

如何学习很酷的命令组合?

嗯,要开始使用,请记住你在unix shell上有基本的循环和条件。

这些命令通常与文件名模式一起使用,例如: *.txt并且经常使用管道|输入。

例如,如果您想执行复杂的操作,请说重命名一组替换给定模式的文件:

for f in *; mv $a ${a/bak/}

会从当前文件夹中的所有文件名中删除单词bak。\

隐藏的黄金

有两个命令sedawk,它们本身就是几乎语言。没有必要从内到外地了解它们,并且可以通过更简单的命令来复制它们所做的许多事情,例如trcut。但是,了解它们基本如何工作是一件非常方便的事情。事实上, Sed Awk 是如此强大,他们甚至还有一本献给他们的O'Reilly书。

在哪里可以找到Unix命令行真棒的例子?

查找示例的好地方是command-line fu

祝你好运