美文网首页Awk
Linux文件统计命令awk

Linux文件统计命令awk

作者: 会飞的蜗牛07 | 来源:发表于2019-01-11 14:08 被阅读5次

awk通常用来处理遵循一定格式的文件,例如/etc/passwd

域的概念

域是awk命令操作的基本单元,例如字符串user:name$0表示user:name$1表示user$2表示name。当然,此时的分隔符需要指定为:

echo "user:name" | awk -F : '{print $1,$2}' #输出“user name”

BEGIN/END模式

awk在对文件操作前和后可以增加额外操作,例如

echo "user:name" | awk -F : 'BEGIN{print "begin"} {print $1,$2} END{print "end"}'

默认变量

$0 $1 $2 - 分别表示全域、域1和域2;
NF - 当前行的域总数,需要注意分隔符;
NR - 当前行号;
FILENAME - 当前文件名;
FS/OFS - 分别表示输入分隔符和输出分隔符,需要-v选项;

常用选项

-F - 指定分隔符;
-v - 设置变量值,设置默认变量也需要使用这个选项;

条件判断

和C语言的条件判断格式类似。

# 统计/etc/passwd的行数
awk -F : 'BEGIN{line=0} {line++} END{print line}' /etc/passwd
或者
cat /etc/passwd | wc -l
# 打印第100行指定内容
awk -F : '{if(NR==100) print $1}' /etc/passwd
# 打印第10行内容
awk -F : 'BEGIN{line=0} {if(line==10){print $0;} line++}' /etc/passwd
# 打印前10行内容
awk -F : 'BEGIN{line=0} {while(line<10){print $0; line++}}' /etc/passwd

参考文献
Linux日常之命令awk - https://www.cnblogs.com/jiqianqian/p/7944013.html

相关文章

  • Linux文件统计命令awk

    awk通常用来处理遵循一定格式的文件,例如/etc/passwd。 域的概念 域是awk命令操作的基本单元,例如字...

  • Linux常用命令积累

    多级查看目录 查找文件存在与否 统计文件中行首为INSERT的行数 Linux awk命令详解https://ww...

  • Linu awk命令

    简介: awk命令是Linux的文本统计、分析工具。说白话点,就是,awk是参数为文本文件的一行字符串的Linux...

  • Linux

    linux awk命令详解、linux awk命令Linux常用操作指令Linux netstat命令详解 awk...

  • awk的用法

    一、awk命令用法 在Linux中,awk 即 gawk , awk的二进制文件为gawk的链接文件; ...

  • linux-P14-sam和bam格式文件的shell小练习

    sam和bam格式文件的shell小练习 练习题网址 linux awk 命令详解 统计共多少条reads(pai...

  • awk文件统计命令

    语法: 一次读取一行文本,按输入分隔符进行切片,切成多个,将切片保存在内建变量里,用 eg:

  • 常用命令(持续更新)

    处理文本常用单行命令,持续更新~1.awk 匹配两个文件内容### Linux Shell中使用awk完成两个文件...

  • awk命令

    下文来自:美团 吴孟达更多AWK命令请参考:Linux awk 命令扩展:linux sort,uniq,cut,...

  • Linux常用命令

    1.Linux基础命令 Linux 统计文件夹下文件个数及目录个数 scp命令格式

网友评论

    本文标题:Linux文件统计命令awk

    本文链接:https://www.haomeiwen.com/subject/flatdqtx.html