如何在Linux中使用awk命令

James Pearson 的头像

·

·

·

24,452 次阅读

文本处理是Unix的核心。从管道到/proc子系统,“一切都是文件”的理念贯穿于操作系统和所有基于它构造的工具。正因为如此,轻松地处理文本是一个期望成为Linux系统管理员甚至是资深用户的最重要的技能之一,而 awk是通用编程语言之外最强大的文本处理工具之一。

最简单的awk的任务是从标准输入中选择字段;如果你对awk除了这个用途之外,从来没了解过它的其他用途,你会发现它还是会是你身边一个非常有用的工具。

默认情况下,awk通过空格分隔输入。如果您想选择输入的第一个字段,你只需要告诉awk输出$ 1:

$ echo 'one two three four' | awk '{print $1}'

one

(是的,大括号语法是有点古怪,但我保证这是我们这节课一直会遇到。)

你能猜出如何选择第二,第三或第四个字段么?是的,分别用$2,$ 3,$ 4。

$ echo 'one two three four' | awk '{print $3}'

three

通常在文本改写时,你需要创建一个特定的数据格式,并且它覆盖不止一个单词。好消息是,awk中可以很容易地打印多个字段,甚至包含静态字符串:

 $ echo 'one two three four' | awk '{print $3,$1}' 

three one

via: http://xmodulo.com/2014/07/use-awk-command-linux.html

作者:James Pearson 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

3 条回复

  1. 微博评论 的头像
    微博评论

    你好,我想接触linux可是不知道从什么资料看起,我没有基础,不是计算机系的,求指教@Linux中国 @Linuxeden开源社区

    来自莆田
  2.  的头像
    匿名

    鸟哥的私房菜

    来自厦门
  3. 丶Nature 的头像
    丶Nature

    中间还可以跳过几章  先从基础看起 再回来看 发现你还是不懂~然后再练练就差不多了~

    来自南京

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注