linux 中 sed匹配特定字符并输出其后的若干行
001、
root@DESKTOP-1N42TVH:/home/test2# ls a.txt root@DESKTOP-1N42TVH:/home/test2# cat a.txt ## 测试数据 01 1 02 2 AA 3 03 4 04 5 05 6 BB 7 06 8 07 9 AA 10 08 11 CC 12 09 13 77 14 33 15 AA 16 33 17 78 18 23 19 97 20 root@DESKTOP-1N42TVH:/home/test2# sed -n '/AA/p' a.txt ## 匹配包含有AA的行 AA 3 AA 10 AA 16
002、匹配包含AA的行及其后的2行、1行
root@DESKTOP-1N42TVH:/home/test2# ls a.txt root@DESKTOP-1N42TVH:/home/test2# cat a.txt 01 1 02 2 AA 3 03 4 04 5 05 6 BB 7 06 8 07 9 AA 10 08 11 CC 12 09 13 77 14 33 15 AA 16 33 17 78 18 23 19 97 20 root@DESKTOP-1N42TVH:/home/test2# sed -n '/AA/,+2p' a.txt ## 匹配包含AA的行及其后的两行 AA 3 03 4 04 5 AA 10 08 11 CC 12 AA 16 33 17 78 18 root@DESKTOP-1N42TVH:/home/test2# sed -n '/AA/,+1p' a.txt ## 匹配包含AA的行及其后的1行 AA 3 03 4 AA 10 08 11 AA 16 33 17
003、匹配包含AA的行及其后两行, 同时提取包含BB的行及其后的一行
root@DESKTOP-1N42TVH:/home/test2# ls a.txt root@DESKTOP-1N42TVH:/home/test2# cat a.txt 01 1 02 2 AA 3 03 4 04 5 05 6 BB 7 06 8 07 9 AA 10 08 11 CC 12 09 13 77 14 33 15 AA 16 33 17 78 18 23 19 97 20 root@DESKTOP-1N42TVH:/home/test2# sed -n '/AA/,+2p; /BB/,+1p' a.txt ## 同时提取包含AA的行及其后2行,BB行及其后1行 AA 3 03 4 04 5 BB 7 06 8 AA 10 08 11 CC 12 AA 16 33 17 78 18
004、提取匹配AA的行及其后的6行
root@DESKTOP-1N42TVH:/home/test2# ls a.txt root@DESKTOP-1N42TVH:/home/test2# cat a.txt 01 1 02 2 AA 3 03 4 04 5 05 6 BB 7 06 8 07 9 AA 10 08 11 CC 12 09 13 77 14 33 15 AA 16 33 17 78 18 23 19 97 20 root@DESKTOP-1N42TVH:/home/test2# sed -n '/AA/,+6p' a.txt ## 匹配AA及其后的6行,匹配原则是依次匹配,最后一个AA在上一次匹配中被选中,不再匹配其后的6行 AA 3 03 4 04 5 05 6 BB 7 06 8 07 9 AA 10 08 11 CC 12 09 13 77 14 33 15 AA 16
005、
root@DESKTOP-1N42TVH:/home/test2# ls a.txt root@DESKTOP-1N42TVH:/home/test2# cat a.txt 01 1 02 2 AA 3 03 4 AA 5 05 6 BB 7 06 8 07 9 AA 10 08 11 AA 12 09 13 77 14 33 15 AA 16 33 17 78 18 23 19 97 20 root@DESKTOP-1N42TVH:/home/test2# sed -n '/AA/,+3p' a.txt ## 匹配AA的行及其后的3行,AA被选择后,不再匹配AA及其后的3行 AA 3 03 4 AA 5 05 6 AA 10 08 11 AA 12 09 13 AA 16 33 17 78 18 23 19
分类:
linux shell
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2021-07-17 linux系统中如何删除^M
2021-07-17 linux系统中实现文件指定列的互换
2021-07-17 linux系统中awk命令删除指定列
2021-07-17 linux系统中如何将文件的某一列替换为其他文件的指定列
2021-07-17 linux系统中删除文件的第一列