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

推荐订阅源

博客园_首页
爱范儿
爱范儿
罗磊的独立博客
V
V2EX
量子位
Last Week in AI
Last Week in AI
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
Jina AI
Jina AI
博客园 - 叶小钗
小众软件
小众软件
博客园 - 【当耐特】
Y
Y Combinator Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
Tailwind CSS Blog
博客园 - 聂微东
Microsoft Security Blog
Microsoft Security Blog
美团技术团队
P
Proofpoint News Feed
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
有赞技术团队
有赞技术团队
MongoDB | Blog
MongoDB | Blog
Recent Announcements
Recent Announcements
酷 壳 – CoolShell
酷 壳 – CoolShell

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