首页 > 系统相关 >Linux_JXNUSixWeek_Linux三剑客—awk

Linux_JXNUSixWeek_Linux三剑客—awk

时间:2023-10-04 10:45:00浏览次数:32  
标签:printf print awk emp Linux JXNUSixWeek data 三剑客

image

晚安,纺凪
Dreamin' Her - 僕は、彼女の夢を見る。


awk简介

image

  • 具体基本用法:
    image

image
awk '$3>0{print $1,$2*$3}' emp.data

awk与sed一样,都是每一次读取一行,对一行进行处理后,继续进行下一行的处理
$3表示一行中的第3列,其余同理
$3>0 被称为模式,{}中的指令被称为动作
每一行中如果存在符合模式的数据,那么就执行动作

awk '$3>0{print $1,$2*$3}$3==0{print $1,'no work'}' emp.data

如上可以多个模式动作一起写


image

如果要将命令写进文件中,则如上

image

同时我们可以省略动作,print是默认的动作,他会打印整行

image

我们也可以省略模式,即默认没有什么约束条件


字段与内置变量,输出和选择

image

awk '{print NR","$0}' emp.data
我们之前直接用,则行中各列默认是以空格分隔的,现在用“,”,则相当于将NR与$0之间以“,”拼接一样,则是以,为分隔的

还有更好的用的方法是:
awk '{printf("%d,$s\n",NR,$0)}' emp.data

我们可以用c语言中的printf继续输出,但需要注意的是printf是不默认输出\n的,需要手动添加


image
image

上面两种写法是等价的


image

我们甚至可以使用c中的运算符

标签:printf,print,awk,emp,Linux,JXNUSixWeek,data,三剑客
From: https://www.cnblogs.com/cilinmengye/p/17741991.html

相关文章

  • 逐渐熟悉Linux
    使用Ubuntu一年了,还没有成为它的朋友,一直依赖于图形化界面,命令行使用得很生疏,因此决定开始增加使用命令行,并且把一些用到的命令和功能做一个记录,会长期更新、添加。一些常用的指令ls:展示当前目录里所有的文件rm:删除文件cd:改变当前所处目录file:查看文件类型cat......
  • 2.linux下的目录结构
    2.linux下的目录结构1.Linux文件系统的特点●Linux文件系统采用树形结构,从根目录root(/)开始。●Linux的虚拟文件系统允许众多不同类型的文件系统共存,并支持跨文件系统的操作。●Linux的文件是无结构字符流式文件,不考虑文件内部的逻辑结构,只把文件简单地看作是一系列字符的序列......
  • 3.linux查看当前所在目录
    3.linux查看当前所在目录在Linux(以及其他类Unix系统)中,你可以使用pwd命令(代表"printworkingdirectory")来查看你当前所在的目录。只需要在命令行中输入pwd,然后按回车键,系统就会显示你当前的工作目录。例如:pwd执行上述命令后,可能会得到类似这样的输出:/home/user这表示你当前......
  • Linux动态库
    制作动态库(也称为共享库)是将可重用的代码和函数打包成单独的库,可以在多个程序中共享使用。在Linux上制作动态库涉及以下步骤:编写源代码:编写你的代码,并确保它们可以编译为动态库。通常,你需要将代码拆分成多个文件,每个文件对应一个模块或功能。编译源代码:使用合适的编译器(如......
  • linux-scp用法
    scp(SecureCopyProtocol)是一个用于在本地系统和远程系统之间安全地传输文件的命令行工具。它基于SSH协议,能够加密传输数据,提供了对文件传输的安全支持。下面详细介绍scp的用法。1.将本地文件复制到远程主机scp[options]<local_file><username@remote_host>:<remote_pat......
  • 在linux服务器上安装scvi后无法调用GPU
    问题描述:WARNING-NoGPU/TPUfound,fallingbacktoCPU.(SetTF_CPP_MIN_LOG_LEVEL=0andrerunformoreinfo.) 解决方案: 测试如下代码,如果为True则执行第二步。importtorchprint(torch.cuda.is_available())测试如下代码importjaxprint(jax.devices......
  • 如何在Linux关闭前向其他系统用户发送自定义消息
    在先前的文章中,我们解释了 Linux 中shutdown、poweroff、halt、reboot 命令的不同之处,并揭示了在用不同的选项执行这些命令时它们实际做了什么。本篇将会向你展示如何在系统关机时向所有的系统用户发送一条自定义的消息。建议阅读:tuptime-显示Linux系统的历史和统计运行......
  • 【知识杂谈#1】Linux如何安装net-tools和sbin配置PATH
    1.Linux下载net-tools在Linux上下载net-tools包的方法可能会因你所使用的Linux发行版而有所不同。在某些现代的Linux发行版中,net-tools已经被弃用,而推荐使用iproute2来替代它。#对于Debian/Ubuntu系统:sudoaptinstallnet-tools#对于CentOS/RHEL系统:sudoyuminstallnet-tools#......
  • Linux 内存泄漏检测的基本原理
    一、mtrace分析内存泄露mtrace(memorytrace),是GNUGlibc自带的内存问题检测工具,它可以用来协助定位内存泄露问题。它的实现源码在glibc源码的malloc目录下,其基本设计原理为设计一个函数voidmtrace(),函数对libc库中的malloc/free等函数的调用进行追踪,由此来检测内存是否存在......
  • Linux系统中驱动之设备树添加按键驱动方法
    大家好,每日一个简单的驱动,日久方长,对Linux驱动就越来越熟悉,也越来容易学会写驱动程序。今日进行简单的按键驱动。一、Linux下按键驱动原理按键驱动和LED驱动原理上来讲基本都是一样的,都是操作GPIO,只不过一个是读取GPIO的高低电平,一个是从GPIO输出高低电平。本次实现按键输入......