Linux小技巧之awk必知必会

news2024/9/21 0:36:22

在这里插入图片描述
Linux Shell 三剑客之一,废话不多说直接上干货。

目录

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

示例数据:
在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1116829.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

STM32MP135和STM32MP157的区别

本文介绍了STMicroelectronics公司推出的两款多核处理器STM32MP135和STM32MP157之间的区别&#xff0c;包括主频、集成硬件模块数量、内存大小和电压调节模块等方面。 STMicroelectronics是一家领先的半导体解决方案提供商&#xff0c;在嵌入式系统领域有着丰富的经验。他们…

序列合并

题目描述 有两个长度为 N 的单调不降序列 A,B&#xff0c;在 A,B 中各取一个数相加可以得到 个和&#xff0c;求这 个和中最小的 个。 输入格式 第一行一个正整数 N&#xff1b; 第二行 N 个整数 1…N​。 第三行 N 个整数 1…N​。 输出格式 一行 N 个整数&#xff…

从头开始使用 KNN 进行 KNN 和 MNIST 手写数字识别的初学者指南

坦维佩努穆迪 Kaggle参考&#xff1a; MNIST Perfect 100% using kNN | Kaggle 一、说明 MNIST &#xff08;“修改后的国家标准与技术研究所”&#xff09;是事实上的计算机视觉“hello world”数据集。自 1999 年发布以来&#xff0c;这个经典的手写图像数据集一直作为分类算…

编写内联函数求解 2x²+4x+5的值,并用主函数调用该函数

动态内存分配可以根据实际需要在程序运行过程中动态地申请内存空间,这种内存空间的分配和释放是由程序员自己管理的,因此也被称为手动内存分配。 C++ 中,动态内存的分配和释放是通过 new 和 delete 操作符进行的。new 操作符用于在堆内存上为对象动态分配空间,dele…

Python之哈希表-哈希表原理

Python之哈希表-哈希表原理 集合Set 集合&#xff0c;简称集。由任意个元素构成的集体。高级语言都实现了这个非常重要的数据结构类型。Python中&#xff0c;它是可变的、无序的、不重复的元素的集合 初始化 set() -> new empty set objectset(iterable) -> new set …

Docker——如何自定义镜像【将自己的项目制作成镜像】?

目录 前言&#xff1a;我们以前是如何部署项目的&#xff1f; 1、镜像由哪几部分构成的 2、如何手动自定义一个镜像 2.1、Dockerfile 2.2、dockerfile文本文件中&#xff0c;最终要写什么&#xff1f; 2.3、构建镜像 3、案例&#xff1a;部署java项目 4、如何与其他容器…

Python 机器学习入门之ID3决策树算法

系列文章目录 第一章 Python 机器学习入门之线性回归 第一章 Python 机器学习入门之梯度下降法 第一章 Python 机器学习入门之牛顿法 第二章 Python 机器学习入门之逻辑回归 番外 Python 机器学习入门之K近邻算法 番外 Python 机器学习入门之K-Means聚类算法 第三章 Python 机…

华为云HECS云服务器docker环境下安装nacos

华为云HECS云服务器&#xff0c;安装docker环境&#xff0c;查看如下文章。 华为云HECS安装docker-CSDN博客 一、拉取镜像 docker pull nacos/nacos-server二、宿主机创建挂载目录 执行如下命令&#xff1a; mkdir -p /usr/local/nacos/logs mkdir -p /usr/local/nacos/con…

服务端监控要怎么做?

目录 前言 一、Google的四类黄金指标 二、RED方法 三、USE方法 RED方法 vs USE方法 四、监控指标 WEB服务监控 MySQL数据库监控 QPS TPS 最大连接数 缓存监控 总结 前言 众所周知&#xff0c;业界各种大中型软件系统在生产运行时&#xff0c;总会有一些手段来…

ESP32C3 LuatOS TM1650②动态显示累加整数

--注意:因使用了sys.wait()所有api需要在协程中使用 -- 用法实例 PROJECT "ESP32C3_TM1650" VERSION "1.0.0" _G.sys require("sys") local tm1650 require "tm1650"-- 拆分整数&#xff0c;并把最低位数存放在数组最大索引处 loc…

车载网关通信能力解析——SV900-5G车载网关推荐

随着车联网的发展,各类车载设备对车载网关的需求日益增长。车载网关作为车与车、车与路、车与云之间连接的关键设备,其通信能力直接影响整个系统的性能。本文将详细解析车载网关的通信能力,并推荐性价比高的SV900-5G车载网关。 链接直达&#xff1a;https://www.key-iot.com/i…

类与对象-对象特性-构造函数与析构函数

#include<iostream> using namespace std; class Person { public: //构造函数 : //没有返回值,不写void //函数名与类名相同 //构造函数可以有参数,能发生重载 //创建对象时,构造函数会自动调用,而且只调用一次 Person() { cout << &quo…

哈里斯鹰算法优化BP神经网络(HHO-BP)回归预测研究(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

Python爬虫:ad广告引擎的模拟登录

⭐️⭐️⭐️⭐️⭐️欢迎来到我的博客⭐️⭐️⭐️⭐️⭐️ &#x1f434;作者&#xff1a;秋无之地 &#x1f434;简介&#xff1a;CSDN爬虫、后端、大数据领域创作者。目前从事python爬虫、后端和大数据等相关工作&#xff0c;主要擅长领域有&#xff1a;爬虫、后端、大数据…

Ubuntu桌面环境的切换方法

你在找它吗&#xff1f; 国内麒麟、深度等系统虽然界面更炫&#xff0c;但——软件仓库与Ubuntu官方已不兼容。国内系统遇到稳定性问题&#xff0c;还是得拿Ubuntu做参照。今天本来介绍下这款Linux桌面。 为什么在 Ubuntu 上考虑 LXQt&#xff1f; 性能&#xff1a;LXQt设计为…

基于SSM的教务管理系统运行教程

文章目录 1、前期必备1.1、所需软件版本说明1.2、下载源码1.3、下载开发工具1.4、下载JDK并配置环境变量1.5、安装数据库和数据库管理工具1.6、安装配置Maven 2、将SQL文件导入到数据库2.1、新建MySQL连接2.2、新建数据库并导入SQL 3、用Eclipse运行程序3.1、导入educationalMa…

操作系统【OS】操作系统的引导

激活CPU。 激活的CPU读取ROM中的boot程序&#xff0c;将指令寄存器置为BIOS(基本输入输出系统)的第一条指令&#xff0c; 即开始执行BIOS的指令。硬件自检。 启动BIOS程序后&#xff0c;先进行硬件自检&#xff0c;检查硬件是否出现故障。如有故障&#xff0c;主板会发出不同含…

【JavaEE】Java多线程编程案例 -- 多线程篇(3)

Java多线程编程案例 1. 单例模式1.1 代码的简单实现1.2 懒汉模式的线程安全代码 2. 阻塞队列2.1 阻塞队列的概念2.2 使用库中的BlockingDeque2.3 模拟实现阻塞队列2.4 生产者消费者模型 3. 定时器3.1 概念3.2 使用库的定时器 - Timer类3.3 模拟实现定时器 4. 线程池4.1 概念4.2…

JetBrains系列IDE全家桶激活

jetbrains全家桶 正版授权&#xff0c;这里有账号授权的渠道&#xff1a; https://www.mano100.cn/thread-1942-1-1.html 附加授权后的一张图片

YOLOv8改进实战 | 更换主干网络Backbone(二)之轻量化模型GhostnetV2

前言 轻量化网络设计是一种针对移动设备等资源受限环境的深度学习模型设计方法。下面是一些常见的轻量化网络设计方法: 网络剪枝:移除神经网络中冗余的连接和参数,以达到模型压缩和加速的目的。分组卷积:将卷积操作分解为若干个较小的卷积操作,并将它们分别作用于输入的不…