zoukankan      html  css  js  c++  java
  • Linux:awk命令

    入门实例

    假设last -n 5的输出如下

    [root@www ~]# last -n 5 <==仅取出前五行
    root     pts/1   192.168.1.100  Tue Feb 10 11:21   still logged in
    root     pts/1   192.168.1.100  Tue Feb 10 00:46 - 02:28  (01:41)
    root     pts/1   192.168.1.100  Mon Feb  9 11:41 - 18:30  (06:48)
    dmtsai   pts/1   192.168.1.100  Mon Feb  9 11:41 - 11:41  (00:00)
    root     tty1                   Fri Sep  5 14:09 - 14:10  (00:01)

    如果只是显示最近登录的5个帐号

    #last -n 5 | awk  '{print $1}'
    root
    root
    root
    dmtsai
    root

    awk工作流程是这样的:读入有' '换行符分割的一条记录,然后将记录按指定的域分隔符划分域,填充域,$0则表示所有域,$1表示第一个域,$n表示第n个域。默认域分隔符是"空白键" 或 "[tab]键",所以$1表示登录用户,$3表示登录用户ip,以此类推。

    如果只是显示/etc/passwd的账户

    #cat /etc/passwd |awk  -F ':'  '{print $1}'  
    root
    daemon
    bin
    sys

    这种是awk+action的示例,每行都会执行action{print $1}。

    -F指定域分隔符为':'。

    如果只是显示/etc/passwd的账户和账户对应的shell,而账户与shell之间以tab键分割

    #cat /etc/passwd |awk  -F ':'  '{print $1"	"$7}'
    root    /bin/bash
    daemon  /bin/sh
    bin     /bin/sh
    sys     /bin/sh
  • 相关阅读:
    实现一个最简单的flask应用程序
    python常识
    Flex布局
    ES6的promise的学习
    通过正则获取url参数
    dom0级事件和dom2级事件
    sea.js总结
    跨域的几种方式
    人生苦短,生命也就一次,机会也就一次
    新开的博客先和大家打个招呼吧!
  • 原文地址:https://www.cnblogs.com/xwb583312435/p/9001672.html
Copyright © 2011-2022 走看看