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
相关推荐
λqaq78 分钟前
Docker 容器入门基础:Cloud Studio 在线 Linux 环境上手
linux·运维·docker
en.en..11 分钟前
LVGL 普通函数指针与结构体函数指针原理
linux·windows·microsoft
byte轻骑兵12 分钟前
【BlueZ 】Adapter 模块:蓝牙适配器(主设备)的初始化与核心逻辑
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
流浪00121 分钟前
Linux系统篇27——通信(四):System V 消息队列 + 信号量:管道之后,Linux 还藏了哪两样 IPC
linux·运维
山岚的运维笔记22 分钟前
mysql 专业笔记 -- 第 14 章:GROUP BY
运维·数据库·笔记·后端·学习·mysql·dba
Java后端的Ai之路40 分钟前
23、Python - 策略模式
linux·python·策略模式
ZYJCSZKJ3 小时前
基于地理位置围栏的短视频POI团购系统:LBS空间索引与流量分发实践
java·服务器·数据库
名字还没想好☜9 小时前
用 systemd 托管后台服务:Restart 策略、日志接管、资源限制与开机自启全踩一遍
运维·docker·kubernetes
乌恩大侠10 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi10 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash