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
相关推荐
infiniteWei12 分钟前
【VIM 入门到精通】第1节:揭开Vim的神秘面纱:入门与基础操作
linux·编辑器·vim
❀͜͡傀儡师15 分钟前
docker部署 paperless-ngx
运维·docker·容器
谷粒.16 分钟前
测试数据管理难题的7种破解方案
运维·开发语言·网络·人工智能·python
卌卄20 分钟前
Linux下安装Docker
linux·运维·docker
派阿喵搞电子24 分钟前
配置srs的鉴权时遇到的问题
服务器·docker·容器·srs
The star"'36 分钟前
ceph(5-8)
运维·ceph·云计算
The star"'43 分钟前
ceph(1-4)
运维·ceph
wanhengidc1 小时前
云手机 网络连接与持续性的表现如何
运维·服务器·科技·游戏·智能手机
小猿成长1 小时前
Ubuntu搭建物联网平台(ThingsBoard)教程
linux·运维·ubuntu
代码不行的搬运工2 小时前
RFC6811:BGP前缀源验证
运维·服务器·bgp网络