码迷,mamicode.com
首页 > 系统相关 > 详细

linux awk命令使用的一些心得-基础命令

时间:2015-06-23 15:57:47      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:文本文件   linux   awk   心得   

该工具的作用是将文本文件逐行读入,然后对读入文本进行切片(默认用空格分隔),然后再读入下一行,已提供使用。是一个格式化报告生成工具,然后用来处理文本。

当前,linux上使用的awk,是gawk(开源awk),简写为awk。

用法:

#awk [options] ‘script‘ file,file2,…
#awk [options] ‘PATTERN {action }‘ filelist


 

引用的话,每一行从$1开始,$0为当前行,以换行符作为行结束

常用为:awk ‘{print $1}‘ 文件

      


常用options:

-F : 指定字段分隔符 awk -F : ‘{print $1}‘ /etc/passwd

-v :给一个变量赋初始值


print 函数,打印内容,自带换行符

printf 函数,格式化打印内容,不带换行符,需要如下的格式:

 awk ‘{printf “格式” $1}‘ 文件 

格式如下:

%开头,后跟一个字符

%c 显示字符的ASCII码
%d,%i:十进制数
%e,%E 科学计数法显示数值
%g,%G 科学计数法的格式或浮点数的格式显示数值
%f 显示浮点数
%u 无符号整数
%% 显示%自身
%s 显示字符串


修饰符

N ,如%10s,当前字符串占用10格,不够补空
-:左对齐,默认右对齐
+:显示数值符号


例子

linux1:/home/test #awk ‘{printf "%-15s %i\n",$1,$2}‘ 1
welcome         0
hello           0

输出重定向

Print items > output-file

Print items >> output-file

Print items | command

特殊文件描述符

/dev/stdin:标准输入

/dev/stdout标准输出

/dev/stderr:错误输出

/dev/fd/N 某个特定文件描述符,如/dev/stdin就相当于/dev/fd/0

例如:

linux1:/home # awk -F: ‘{printf "%-15s %i\n",$1,$3>"/dev/stderr"}‘ /etc/passwd
root            0
bin             1
daemon          2
lp              4
mail            8
games           12
wwwrun          30
ftp             40
nobody          65534



本文出自 “测试的律动” 博客,请务必保留此出处http://fociceo.blog.51cto.com/2480/1664449

linux awk命令使用的一些心得-基础命令

标签:文本文件   linux   awk   心得   

原文地址:http://fociceo.blog.51cto.com/2480/1664449

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!