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
相关推荐
知已难寻3 小时前
Docker 入门:容器技术与 Docker 基础
java·运维·服务器·docker·云原生·容器
默|笙4 小时前
【Linux网络】网络层协议 IP(1)理解报头、网段划分
linux·网络·tcp/ip
修己xj6 小时前
nslookup 使用指南:两种模式与常用查询技巧
linux
唠玖馆8 小时前
文件系统详解
linux·文件系统·ext2
GeW9 小时前
当Linux内核开始“确定性”,制造高端化才有了底层语法
linux
星恒随风10 小时前
MySQL 从零入门(三):表的约束详解
linux·服务器·数据库·笔记·mysql
Alluxio11 小时前
Alluxio + OCI:为 AI 工作负载实现亚毫秒访问延迟与可扩展吞吐
运维·数据库·人工智能·分布式·缓存·ai·语言模型
StarsGreen12 小时前
libva在intel平台上的前端流程简介
linux
坤坤子吖15 小时前
Linux网络编程:自定义应用层协议与 JSON 序列化
linux·服务器·网络·c++·笔记·json
Sayai15 小时前
Neo4j 图数据质量检查实战:环路检测、孤立节点与连通分量,两条 Cypher 引出的数据体检清单(含变长路径性能陷阱)
运维·neo4j·图数据库·数据质量·cypher