惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
J
Java Code Geeks
有赞技术团队
有赞技术团队
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
Apple Machine Learning Research
Apple Machine Learning Research
量子位
D
Docker
V
Visual Studio Blog
博客园 - 司徒正美
Martin Fowler
Martin Fowler
人人都是产品经理
人人都是产品经理
WordPress大学
WordPress大学
U
Unit 42
M
MIT News - Artificial intelligence
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
G
Google Developers Blog
Engineering at Meta
Engineering at Meta
V
V2EX
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
Vercel News
Vercel News
C
Check Point Blog

mafeifan 的编程技术分享

mafengwo-mp3-downloader | mafeifan 的编程技术分享 示例页面 | mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 查看 default namespace 下的 default service account名称 mafeifan 的编程技术分享 检查日志 | mafeifan 的编程技术分享 bridge fdb show dev flannel.1 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享 mafeifan 的编程技术分享
mafeifan 的编程技术分享
2026-01-16 · via mafeifan 的编程技术分享

测试文件 awk1.txt, 内容如下:

root:x:0:0:root:/root:/usr/bin/zsh
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync

bash

# -F 指定分隔符为:然后提取第一个字段。
awk -F ':' '{ print $1 }' awk1.txt

root
daemon
bin
sys
sync

# 提取最后一个字段
awk -F ":" '{print $NF}' awk1.txt

/usr/bin/zsh
/usr/sbin/nologin
/usr/sbin/nologin
/usr/sbin/nologin
/bin/sync


# 提取倒数第二字段
awk -F ":" '{print $(NF-1)}' awk1.txt

/root
/usr/sbin
/bin
/dev
/bin

# 带上行号和分隔符
awk -F ":" '{print NR ")" $1}' awk1.txt

1)root
2)daemon
3)bin
4)sys
5)sync

# 输出最后一行
awk 'END {print}' awk1.txt

tail -n 1 filename

1)root
2)daemon
3)bin
4)sys
5)sync


# awk提供了函数

awk -F ':' '{ print toupper($1) }' awk1.txt

ROOT
DAEMON
BIN
SYS
SYNC

# print命令前面是一个正则表达式,只输出包含usr的行。

awk -F ':' '/usr/ {print $1}' awk1.txt

# 也可以结合 grep 达到同样的效果
cat awk1.txt | grep "/usr/" | awk -F ':' '{print $1}'

# 输出奇数行, NR 理解成 number row 
awk -F ':' 'NR % 2 == 1 {print $1}' awk1.txt

# 输出第三行以后的行
awk -F ':' 'NR >3 {print $1}' awk1.txt

输出第一个字段等于指定值的行
awk -F ':' '$1 == "root" || $1 == "bin" {print $1}' awk1.txt

root
bin


# 输出第一个字段的第一个字符大于m的行
awk -F ':' '{if ($1 > "m") print $1}' awk1.txt

root
sys
sync

cat test
a
aa
ab
b

$ awk '{if ($1>"a") print $1}' test
aa
ab
b
c

$ awk '{if ($1>"aa") print $1}' test
ab
b
c

# 使用else
awk -F ':' '{if ($1 > "m") print $1; else print "---"}' awk1.txt

root
---
---
sys
sync