首页 > 系统相关 >Linux文本三剑客-awk

Linux文本三剑客-awk

时间:2023-11-22 11:47:25浏览次数:38  
标签:输出 分隔符 空格 separator Linux print awk 三剑客

目录

详解

awk是一个强大的linux命令,有强大的文本格式化的能力,好比将一些文本数据转化成专业的Excel表的样式

awk基础

语法

awk [option] 'pattern[action]' file ...
awk  参数     '条件动作'          文件
  • action值得是动作,awk擅长文本格式化,且输出格式化后的结果,因此最常用的动作就是printprintf

awk场景

动作场景

选项

  • awk常用参数
参数 解释
-v value,设置变量
-F filed separator,输入字段分隔符
  • awk常用内置变量
变量 变量全称 解释
$[n] number 第n个字段
$0 当前整条记录
FS filed separator, 输入字段分隔符
RS record separator, 输入记录分隔符
OFS output filed separator, 输出字段分隔符
ORS output record separator, 输出记录分隔符
NF number of fileds, 当前记录包含字段数
NR number of reccords, 当期已处理记录数
  • awk内置函数
函数 解释
print
printf
length 字段长度
BEGIN
END

BRGIN语句块--->模式匹配语句块--->END语句块

实验

简单输出

我们执行的命令是awk '{print $2}',没有使用参数和模式,$2表示输出文本的第二列信息
awk默认以空格为分隔符,且多个空格也识别为一个空格,作为分隔符
awk是按行处理文件,一行处理完毕,处理下一行,根据用户指定的分隔符去工作,没有指定则默认空格

指定了分隔符,awk吧每一行切割后的数据对应到内置变量中

  • $0表示整行
  • $NF表示当前分割的最后一列
  • 倒数第二列可以写成$(NF-1)
# 输出lsblk的第七列
[root@localhost /]$ lsblk | awk '{print $7}'
MOUNTPOINT

/boot

/
/home
/var

# 配合grep命令输出一个非空白行
[root@localhost /]$ lsblk | awk '{print $7}' |grep -v '^$'
MOUNTPOINT
/boot
/
/home
/var

标签:输出,分隔符,空格,separator,Linux,print,awk,三剑客
From: https://www.cnblogs.com/Anzi-0524/p/17848604.html

相关文章

  • Linux操作(第十一周)
    本周学习了第六章IO重定向与管道,IO重定向是Linux系统中非常有用的功能,它允许我们将命令的输入和输出重定向到不同的位置,而不是默认的标准输入(stdin)和标准输出(stdout)。标准输入重定向:<符号用于将一个文件作为命令的输入。例如,command<input.txt会将input.txt文件的内容作为co......
  • Linux操作(第十二周)
    本周学习了新章节文件系统与磁盘管理,首先通过lsblk命令用于列出系统中的块设备(如磁盘和分区)信息。以下是一些常用的lsblk命令选项:lsblk:列出所有块设备的信息。lsblk-a:显示所有块设备,包括空设备。lsblk-f:显示块设备的文件系统类型。lsblk-m:以可读的方式显示块设备的大小。ls......
  • Linux操作系统no.9
    第七章:存储管理:1.lsblk命令查看硬盘状态2.fdisk-l 命令可以查看系统所挂硬盘个数以及其分区情况3.使用fdisk命令对sdc硬盘进行分区, 输入“m”参数可以查看帮助信息,了解每个参数的具体作用,分区操作等等 输入“n”参数尝试创建新的分区 输入“p”参数查看硬盘中的分区......
  • Linux第四次博客
     主要关于虚拟机联网的基本的几个步骤。桥接模式:桥接模式就是将主机网卡与虚拟机的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网......
  • Linux 创建分区出现 no free sectors available 解决方法
    在Linux系统上,我们可能会碰到创建分区时报错:nofreesectorsavailable的情况。这种情况下,我们该如何处理呢?本文将针对该问题提供解决方法。1.确定磁盘使用情况首先,我们需要确定磁盘的使用情况。可以使用fdisk、parted等工具来查看磁盘分区情况并确认是否还有空余的磁盘空间。......
  • 【linux上机实验】实验六 Linux开发工具的使用
    【前言】愿,所有相遇,都恰逢其时!愿,此刻心头,正满怀欣喜!---你好,朋友,欢迎你!1.用gcc带不同参数编译下列hello.c程序。#include<stdio.h>intmain(){ printf(”HelloWorld!\n”); return0;}(1)只作预处理,不进行编译,相应命令为:gcc-Ehello.c(2)只进行......
  • linux文件权限1
    基本权限UGO文件和文件目录的所有者:u——User文件和文件目录的所属组:g——Group其他用户:o——Other文件类型d:文件夹-:普通文件l:软链接(类似Windows的快捷方式)b:块设备文件(例如硬盘、光驱等)文件基本权限r:读权限——对于文件指可以查看文件内容;对于目录指可以浏览该目录......
  • Linux操作系统no.8
    第六章:I/O重定向1.I/O重定向案列 2.在/proc下查看进程文件 3.输出重定向,其中  > 表示覆盖, >> 表示追加 4.错误输出重定向: 5.重定向综合案例:使用echo命令重定向: ......
  • Linux多线程
    文章参考:爱编程的大丙(subingwen.cn)一.线程概述线程是一种轻量级的,在Linux环境下,由于Linux内核起初并未设计线程,只有进程,因此将线程本质上仍是进程。而在实际处理中,进程是操作系统最小的分配资源单位,而线程是操作系统最小的调度执行单位。区别如下:空间上:每一个进程都有......
  • linux11.08课堂随笔
    第5章进程管理一、静态查看进程ps命令可以查看静态进程,仅仅是捕捉某一个瞬间某一个进程的状态,类似于给进程制作快照。1.查看进程psaux2.查看CPU占用率psaux--sort-%cpu3.查看UID、PID、PPID等信息ps-ef快速查找psaxo命令自定义显示的字段4.查看指定进程PID(1)cat......