首页 > 系统相关 >Linux awk命令

Linux awk命令

时间:2024-01-18 18:23:56浏览次数:36  
标签:demo NF 命令 awk Linux print NR txt

Linux awk命令

今天,在看面经过程中,看到有关于linux指令的问题,想到自己一直对awk不太熟悉,今天详细学习一下,记录一下增强记忆,也希望在今后的工作中能够使用它。

Linux三剑客:grep(过滤文本) sed(修改文本) awk(处理文本)

语法格式

awk [参数] [处理内容] [操作对象]

使用实例
参数取值:
	-F :指定文本分隔符 默认空格
案例
awk -F'f' '{print $NF}' 1.txt


默认变量 $0 代表当前行
		$n 代表第n列
		NF: 表示当前行有多少个字段
		$NF: 表示当前行的最后一个字段
		NR: 表示当前处理的是第几行
案例:
	echo "this is a text" | awk 'print $0'
	res : this is a text
	echo "this is a text" | awk 'print $3'
	res : a
	打印倒数第二个字段:
		awk -F ':' '{print $1, $(NF-1)}' demo.txt
	测试NR:
		awk -F ':' '{print NR ") " $1}' demo.txt
		ps:如果print里面需要打印),需要双引号引起来


函数:
	toupper()将字符转成大写
	tolower()将字符转成小写
	length()返回字符串长度
	substr()返回子字符串
	sin()正弦
	rand()随机数

案例:
	awk -F ':' '{ print toupper($1) }' demo.txt	


条件:
awk '条件 {动作}' 文件名
awk允许指定输出条件,只输出符合条件的行。
案例:
	awk -F ':' '/usr/ {print $1}' demo.txt
	ps:{print $1}前/usr/是正则表达式,只输出包含usr的行
	awk -F ':' 'NR % 2 == 1 {print $1}' demo.txt   #输出奇数行
	awk -F ':' '$1 == "root" {print $1}' demo.txt #输出第一个字段等于指定值的行

if语句
案例:
	awk -F ':' '{if ($1 > "m") print $1}' demo.txt #输出第一个字段第一个字符大于'm'的行
	awk -F ':' '{if ($1 > "m") print $1; else print "---"}' demo.txt  #加上了else

标签:demo,NF,命令,awk,Linux,print,NR,txt
From: https://www.cnblogs.com/xyfhsy/p/17973144

相关文章

  • 关于linux系统查找规定时间点的文件和文件数(find)
    find./-mtime-5-typef-empty-execls-lt{}\;|morefindlinux查找命令find./当前目录下查找-mtime1表示文件修改时间距离当前为1天的文件,即距离当前时间1天(24小时-48小时)的文件-mtime0表示文件修改时间距离当前为0天的文件,即距离当前时间不到1天(24小时)以内的文......
  • Linux中利用shell脚本提升cpu使用率
    使用背景:因新申请下来的服务器暂时没有部署任何应用导致cpu使用率很低,那资源组那边给出两个方案,1.要不把服务器用起来2服务器进行降配降配是不可能降配的,后面正式用起来去升配就很麻烦了使用说明:这个脚本主要是针对多核服务器进行使用,前提你想让你服务器......
  • Linux命令
    Port(Linux)#查看端口占用netstat-nlp|grep[端口号]Port(Windows)#查看指定端口的占用情况netstat-aon|findstr“端口号”#查看进程或者程序占用了相应的端口tasklist|findstr“被占用端口对应的PID”#结束端口占用的进程taskkill/t/f/pidpid号Jar#jar包后......
  • 基本的DOS命令
    基本的DOS命令打开COM的方法**1.点击开始+系统+命令提示符**2.在任意文件夹下面按住shift+鼠标右键点击打开3.win+r,输入cmd**4.管理员方式运行**常用的DOS命令盘符切换查看当前目录下的所有文件dir切换目录cd返回上级目录cd..清理屏幕cls推出终端exit查......
  • JMeter在linux安装及运行
        JMeter在linux服务器安装   1、在服务器/opt或者其他目录下,新建文件夹:mkdirJMeter;把JMeter的压缩包放入到该路径下,若复制失败,可能是因为JMeter文件夹缺少操作权限,添加权限:chmod-R777JMeter,再次复制;   2、执行命令:unzip  apache-jmeter-5.2.1.zip,或者......
  • Linux_SSH免密随笔
    一、介绍SSH为 SecureShell的缩写,它是建立在应用层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。 SSH远程登录目标服务器有两种方式:①基于口令的安全认证:每次登录的时......
  • tcpdump抓包(linux)和丢包分析
    1、下载安装官网:https://www.tcpdump.org/index.html#latest-releases编译和安装[root@mysql01~]#tar-zxvftcpdump-4.99.4.tar.gz[root@mysql01~]#tar-zxvflibpcap-1.10.4.tar.gz[root@mysql01~]#cdlibpcap-1.10.4/[root@mysql01~/libpcap-1.10.4]#./configur......
  • linux下iptables学习
    iptables的结构iptables由上而下,由tables、chains、rules组成四表iptables有filter、nat、mangle、raw四种内置表Filter表filter是iptables的默认表,有一下三种内建链:INPUT链-处理来自外部的数据OUTPUT链-处理向外发送的数据FORWARD链-将数据转发到本机的其他网......
  • linux没有root权限修改环境变量怎么办
    Linux系统可以自己建立和管理环境变量文件,而且每个用户都可以在自己的主目录下创建一个bash环境变量文件,这个文件会在用户登录时自动执行。创建这个文件的命令是:```touch~/.bashrc```然后可以使用任意文本编辑器打开这个文件,添加需要的环境变量,例如:```exportMY_VAR="Hello......
  • Makefile 使用 shell 命令
    转发自https://www.cnblogs.com/phillee/p/15020046.html0.前言前面一节我们学习了make的基本使用规则以及变量定义赋值方法,可以写一些简单的实例。Makefile学习笔记之变量定义与赋值target...:prerequisites...command......在使用make进行开发的过程中,我们常......