首页 > 系统相关 >Linux小技巧之awk必知必会

Linux小技巧之awk必知必会

时间:2023-10-29 14:37:33浏览次数:34  
标签:7456 log 必知 awk Linux print txt tb


Linux小技巧之awk必知必会_Shell


Linux Shell 三剑客之一,废话不多说直接上干货。

目录

  • 1. 指定分隔符
  • 2.指定打印行数
  • 3.打印最后一列
  • 4.打印倒数第二列
  • 5.匹配输出
  • 6.if 判断
  • 7.统计列总数值
  • 8.时间格式转换


示例数据:

Linux小技巧之awk必知必会_linux_02

1. 指定分隔符

awk -F '|' '{print $1}' log.txt

# awk -F '|' '{print $1}' log.txt
tbname
=================================================================
tb_7456_cm1eM
tb_7456_cm1e0
tb_7456_1bg3J
tb_7456_1dXax
tb_7456_1b9ol
tb_7456_1bhdH
tb_7456_1eAYV
tb_7456_1fxkg
tb_7456_1fZRW
tb_7456_cm1ez
tb_7456_1bg3J
tb_7456_cm1hX
tb_7456_cm1ck
tb_7456_cm1ck
tb_7456_cm1ck

2.指定打印行数

awk -F '|' 'NR>2 {print $1}' log.txt

# awk -F '|' 'NR>2 {print $1}' log.txt
tb_7456_cm1eM
tb_7456_cm1e0
tb_7456_1bg3J
tb_7456_1dXax
tb_7456_1b9ol
tb_7456_1bhdH
tb_7456_1eAYV
tb_7456_1fxkg
tb_7456_1fZRW
tb_7456_cm1ez
tb_7456_1bg3J
tb_7456_cm1hX
tb_7456_cm1ck
tb_7456_cm1ck
tb_7456_cm1ck

3.打印最后一列

awk -F '|' 'NR>2 {print $NF}' log.txt

# awk -F '|' 'NR>2 {print $NF}' log.txt
        1532
          13
         209
       56556
        3334
        7611
       48109
           3
        1668
        7249
         145
          22
           6
           1
         506

4.打印倒数第二列

awk -F '|' 'NR>2 {print $(NF-1)}' log.txt

# awk -F '|' 'NR>2 {print $(NF-1)}' log.txt
     108
     350
     293
      57
     207
     316
      26
      27
     148
     203
      18
     480
      64
      20
     348

5.匹配输出

awk -F '|' '/cm1e/ {print $1}' log.txt

# awk -F '|' '/cm1e/ {print $1}' log.txt
tb_7456_cm1eM
tb_7456_cm1e0
tb_7456_cm1ez

6.if 判断

awk -F '|' '{if ($3<100) print $0 }' log.txt

# awk -F '|' '{if ($3<100) print $0 }' log.txt
tbname         | create_time             |     cols|        rows
=================================================================
tb_7456_1dXax  | 2023-03-21 05:38:44.400 |      57 |       56556
tb_7456_1eAYV  | 2023-03-21 03:50:16.347 |      26 |       48109
tb_7456_1fxkg  | 2023-03-21 03:50:15.484 |      27 |           3
tb_7456_1bg3J  | 2023-09-05 12:42:18.269 |      18 |         145
tb_7456_cm1ck  | 2023-09-05 02:03:43.843 |      64 |           6
tb_7456_cm1ck  | 2023-03-21 03:50:19.610 |      20 |           1
# awk -F '|' '/cm1/ {if ($3<100) print $1"\t"$3 }' log.txt
tb_7456_cm1ck         64
tb_7456_cm1ck         20

7.统计列总数值

awk -F '|' 'NR>2 {sum+=$3} END {print sum}' log.txt

# awk -F '|' 'NR>2 {sum+=$3} END {print sum}' log.txt
2665

8.时间格式转换

awk '{print strftime("%Y-%m-%d %T",1697848286)}'

# date +%s |awk '{print strftime("%Y-%m-%d %T",$1)}'
2023-10-21 08:32:44


标签:7456,log,必知,awk,Linux,print,txt,tb
From: https://blog.51cto.com/dbadadong/8080325

相关文章

  • VMware虚拟机安装Linux教程(2023最新版)
    一、准备工作1.VMware软件(注意:如过不会安装此软件教程地址VM安装教程),常见的虚拟机软件有VMwareWorkstation(简称VMware)、VirtualBox、MicrosoftVirtualPC等,其中VMware市场占有率最高,所以本节以VMware为例来讲解Linux的安装。2.镜像:CentOS-6.4-i386-bin-DVD1(注意:如果没......
  • 制作自己的min linux(CentOS7.6)
    1.在现有的linux添加一块大小为20G的硬盘2.启动现有的linux。通过fdisk来给我的/dev/sdb进行分区 3.接下来,对/dev/sdb的分区进行格式化[root@localhost~]#mkfs.ext4/dev/sdb1[root@localhost~]#mkfs.ext4/dev/sdb2 4.创建目录,并挂载新的磁......
  • AMD Ryzen AI 暂仅支持 Windows,Linux 系统有望后续支持
    近日消息,最新的AMDRyzen7040系列笔记本电脑配备了基于XilinxIP的专用AI引擎,名为“RyzenAI”,可以加速PyTorch和TensorFlow等机器学习框架的运行。不过目前这个RyzenAI只支持微软Windows系统。但是如果有足够的客户需求,这种情况可能会改变。早在6月份,AM......
  • Youtrack Linux 安装
    我们考虑最后应该使用的是ZIP方式的安装。按照官方的说法如何设置运行YouTrack应该是非常简单的。准备环境根据官方的说法,我们需要做的就是下载Zip包,然后把Zip包解压到指定的目录中就可以了。下载当前官方的下载地址为:GetYouTrack:IssueTrackingandProjectManagement......
  • 原来Linux makefile可以如此简单
    作者:朱金灿  原来以为Linuxmakefile挺复杂的,直到从网上找到一个编译模板,发现Linuxmakefile是如此简单,而且你还可以根据该模板实现C程序和C++程序的混合编译。下面是Linuxmakefile模板的脚本代码:#指定c编译器CC=gcc#指定C++编译器C++=g++#指定链接器LINK=g++......
  • windows 10卸载(注销)WSL,注销(卸载)当前安装的Linux的Windows子系统
    1.查看当前环境安装的wslwsl--list2.注销/卸载当前安装的linux的Windows子系统wsl--unregisterdebian3.卸载成功后,查看当前看装的子系统wsl--list4.查看可安装的linux的windows子系统wsl--list--online ......
  • 嵌入式linux SD读取数据导致死机问题
    一、碰到的问题通过ssh命令将文件写入到SD卡中,发现有一张SD卡(金士顿)可以成功写入,而另一张SD(闪迪)一直写入失败。应用层读取文件时,有一张SD卡(金士顿)可以成功读取数据;另一张SD卡(闪迪)有很大的概率会导致司机。二、SD卡驱动硬件电路图1.SD卡驱动硬件电路三、调试过程查看......
  • Linux操作系统 no.2
    一.用户/组:1.创建用户、组:  useradd  groupadd2.删除用户:  userdel3.修改用户密码:  passwd 二.文件权限:chowm:修改文件属主,属组。chgrp:修改文件属组。chmod: 修改文件权限。 chowm:改变文件属性chmod:改变文件访问方式  r(读取)  w(写入)  x(执......
  • linux top命令使用
    top命令可以用来查看当前服务的cpu使用情况,以下是使用cpu返回的参数情况:参数说明:PID:进程ID。USER:进程所属的用户。PR:进程的优先级。NI:进程的优先级调整值(Nice值)。VIRT:进程使用的虚拟内存大小。RES:进程使用的物理内存大小。SHR:进程使用的共享内存大小。S:进程状态,如S表示睡眠状态,R表......
  • 《Linux》命令基础
    命令无论是什么命令,在Linux中有其通用的格式command[-options][parameter]command:命令本身-options:[可选的]命令选项,可以通过选项控制命令的行为parameter:[可选的]命令参数,多数用于命令的指向目标ls命令ls[-a-l-h][路径]ls #平铺的形式列出工作目录下的【可见文件/文件夹......