Linux中awk命令
2016-12-07 15:43
549 查看
awk说明
awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,或其它命令的输出。它支持用户自定义函数和动态正则表达式等先进功能,是linux/unix下的一个强大编程工具。它在命令行中使用,但更多是作为脚本来使用。awk的处理文本和数据的方式:它逐行扫描文件,从第一行到最后一行,寻找匹配的特定模式的行,并在这些行上进行你想要的操作。如果没有指定处理动作,则把匹配的行显示到标准输出(屏幕),如果没有指定模式,则所有被操作所指定的行都被处理。
awk分别代表其作者姓氏的第一个字母。因为它的作者是三个人,分别是Alfred Aho、Brian Kernighan、Peter Weinberger。
gawk是awk的GNU版本,它提供了Bell实验室和GNU的一些扩展。下面介绍的awk是以GUN的gawk为例的,在linux系统中已把awk链接到gawk,所以下面全部以awk进行介绍。
awk命令格式和选项
awk的语法有两种形式awk [options] 'script' var=value file(s) awk [options] -f scriptfile var=value file(s)
实例
ls -l |awk '/^d/ {print $NF}'
意思:
ls -l显示当前路径所有信息。
awk '/^d/ {print $NF}'匹配记录中以
d开头的,也就是文件夹,并且打印最后一个字段。
也就是文件夹名。
注意:
NF其实是number of field, 即整行(或者说record)里面词 (更准确的翻译应该是域)的总数。
NF-1 就是倒数第二个字段
我做这一块的代码(写在jenkins脚本中的)
#!/bin/bash export PATH=~/play-1.2.7:$PATH #获得当前目录 cur=$(pwd) echo "pwd:"${cur} rm -rf ggservice-dataservice.jar output_path=${cur}/classes package=${cur}/package echo $output_path if [ ! -d $output_path ]; then mkdir $output_path fi if [ ! -d $package ]; then mkdir $package fi ## 获取依赖库和需要编译的java文件 export libs=`find ./dataservice/lib -name "*.jar" |xargs|sed "s/ /:/g"` export javafiles=`find ./dataservice/ -name "*.java" |xargs|sed "s/ / /g"` export javautils=`find ./utils/app/ -name "*.java" |xargs|sed "s/ / /g"` export play_lib=/opt/play-1.2.7/framework/play-1.2.7.jar export play_lib_common=`find /opt/play-1.2.7/framework/lib/ -name "*.jar" |xargs|sed "s/ /:/g"` #echo ${javafiles} #echo "公共---------" #echo ${javautils} # 清除 rm -rf package/* ##编译 javac -d ${cur}/classes -cp ${libs}:$play_lib:$play_lib_common -encoding utf-8 ${javafiles} ${javautils} ##打包 cd /home/jenkins/workspace/ggservice/dataservice/app/ggservice/v1/ dir=$(ls -l |awk '/^d/ {print $NF}') cd $output_path for i in $dir do echo "ggservice-"${i}".jar打包情况": jar -cvf ${package}/ggservice-${i}.jar */v1/$i/* done
参考地址:
http://www.cnblogs.com/azheng007/p/3037246.html
http://www.zybang.com/question/fb3f19dae3ed24e8c96eb75c8acdae3e.html
相关文章推荐
- awk&grep 命令完全解析--之linux高级命令
- linux之grep,sed,awk命令实例大练习
- Linux awk 命令
- 最近学习的linux命令 grep,awk,cut,uniq,wc 实际应用例子
- shell-14: linux awk 命令应用
- linux下文本处理命令sed,awk,grep
- Linux基本命令之awk
- Linux awk命令详解3
- Linux awk命令详解
- Linux awk 命令 说明
- Linux之grep, sed, awk命令实例练习
- Linux 命令find,tar,ps,grep,sed,awk
- linux下awk以及重定向命令的使用
- Linux 下 awk命令合并多文件方法
- Linux awk命令详解 sed
- linux sed命令 awk命令
- Linux新手生存笔记[4]——重点命令1-awk
- Linux awk命令详解
- Linux awk 命令 说明
- linux文本操作命令之awk