Linux的awk使用方式

awk

编辑器

流编辑器

擅长处理列

读入一行 执行一次主输入循环

复制代码
语法
# awk  选项  '{}'  文件名

{} 主输入循环

print  打印

字符串 必须加引号
数字   不能加引号
变量   不能加引号   

[root@web ftp]# awk '{print "abc"}' a.txt
abc
abc
abc
abc
abc

# awk '{abc=8;print abc}' a.txt
8
8
8
8
8

记录

以记录分隔符分割的字符串

\n是默认的记录分隔符

复制代码
RS record  separator

字段
	包含在记录内
	以字段分隔符分割的字符串	
	空白部分 是默认的字段分隔符    
		空格 多个空格 tab键  
		当记录分隔符不是\n的时候,\n会变成默认的字段分隔符

FS field separator
$1 第一个字段
$2 第二个字段
$...
NF number of field
NR number of record
javascript 复制代码
# awk -F : '{print $1}' /etc/passwd
# awk -F : '{print $1$3}' /etc/passwd
# awk -F : '{print $NF}' /etc/passwd
# sed -r 's/(.*)(:x:)([0-9]+)(:.*)/\1\3/' /etc/passwd

# awk -F : '/root/{print $1$3}' /etc/passwd
root0
operator11
[root@web log]# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

# awk -F : 'NR==5{print $1$3}' /etc/passwd
lp4
相关推荐
phoenix09811 小时前
Linux入门DAY29
linux·运维
一休哥助手1 小时前
Naive RAG:简单而高效的检索增强生成架构解析与实践指南
运维·人工智能·架构
叔叔别拉了我害怕2 小时前
封装FTPSClient连接ftps服务器
服务器·git·github
入秋2 小时前
Linux服务器安装部署 Nginx、Redis、PostgreSQL、Docker
linux·前端
不甘懦弱2 小时前
阿里云搭建flask服务器
服务器·python·flask
Bi2 小时前
包含多个子项目集成一个项目部署Vercel方法
运维·前端
Mr. Cao code2 小时前
使用Tomcat Clustering和Redis Session Manager实现Session共享
java·linux·运维·redis·缓存·tomcat
zcz16071278212 小时前
Linux 网络命令大全
linux·运维·网络
the sun342 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++
VVVVWeiYee2 小时前
BGP高级特性
运维·服务器·网络