awk基本介绍
AWK 是一种用于处理文本的编程语言工具。awk经过改进生成的新的版本nawk,gawk,现在默认linux系统下日常使用的是gawk,用命令可以查看正在应用的awk的来源(ls -l /bin/awk )
WK 提供了极其强大的功能:可以进行样式装入、流控制、数学运算符、进程控制语句甚至于内置的变量和函数。
尽管操作可能有点复杂,但命令的语法始终是:
gsub(r,s)
|
在整个$0中用s代替r
|
gsub(r,s,t)
|
在整个t中用s替代r
|
index(s,t)
|
返回s中字符串t的第一位置
|
length(s)
|
返回s长度
|
match(s,r)
|
测试s是否包含匹配r的字符串
|
split(s,a,fs)
|
在fs上将s分成序列a
|
sprint(fmt,exp)
|
返回经fmt格式化后的exp
|
sub(r,s)
|
用$0中最左边最长的子串代替s
|
substr(s,p)
|
返回字符串s中从p开始的后缀部分
|
substr(s,p,n)
|
返回字符串s中从p开始长度为n的后缀部分
|
内置的字段函数
$0
: awk变量 $0
保存当前正在处理的行内容 NR
: 当前正在处理的行是 awk 总共处理的行号。 FNR
: 当前正在处理的行在其文件中的行号。 NF
:每行被处理时的总字段数 $NF
: 当前处理行的分隔后的最后一个字段
的值 FS
: 输入行时的字段分隔符,默认空格 OFS
: 输出字段分隔符,默认是一个 空格 ORS
输出记录分隔符, 默认是换行符方法一:awk参数-v(推荐使用,易读)
[root@slave ~]# echo "unix script" |awk -v var="bash" 'gsub(/unix/,var)'
bash script
[root@slave ~]# awk -v user=root -F: '$1 == **user**' /etc/passwd
root:x:0:0:root:/root:/bin/bash
gsub
使 AWK 中的内置函数,功能使搜索替换'gsub(/unix/,var)
中的意思是搜索unix
字符串,替换为 var 变量对应的值
方法二:在双引号的情况下使用
[root@slave ~]# var="bash"
[root@slave ~]# echo "unix script" |awk "gsub(/unix/,\"$var\")"
bash script
方法三:在单引号的情况下使用
[root@slave ~]# var="bash"
[root@slave ~]# echo "unix script" |awk 'gsub(/unix/,"'"$var"'")'
bash script
awk基本介绍的更多相关文章
- 【转】awk用法介绍
1. 介绍 Awk是由Aho.Weinberger和Kernighan三位科学家开发的,特别擅长文本处理的linux 工具,该工具是 linux 下最常用的工具之一.Awk不是普通的工具,其实,也是一 ...
- shell编程awk基础介绍
awk介绍 报告生成器,格式化文本输出 处理机制类似sed命令,自带循环处理 读入一行处理一行然后自动读取下一行再进行处理 sed命令换行的标识是固定的,只能是回车换行. awk里面的换行 ...
- Linux中grep、sed、awk使用介绍
linux文件操作命令介绍1)grepgrep 用于在文件中查找符合条件的记录grep 参数 过滤条件 文件过滤的条件中可使用正则表达式-c 显示符合的行数-i 忽略大小写-n 显示符合要求的记录,包 ...
- AWK的介绍学习
第一节.awk的工作流程和基本用法 1.awk介绍 awk是一种报表生成器,就是对文件进行格式化处理的,这里的格式化不是文件系统的格式化,而是对文件内容进行各种"排版",进而格式化 ...
- 【Linux】awk详细介绍
awk简介 awk是一种使用方便且表现力很强的编程语言,它可以应用在多种不同的计算与数据处理任务中.由于awk天生提供对文件中文本分列进行处理,所以如果一个文件中的每行都被特定的分隔符(常见的是空格) ...
- awk用法介绍
Awk 程序的结构如下: awk 'BEGIN{ print "start" } pattern { commands } END{ print "end" } ...
- awk 用法(使用入门)
转自:http://www.cnblogs.com/emanlee/p/3327576.html awk 用法:awk ' pattern {action} ' 变量名 含义 ARGC 命 ...
- Linux awk命令详解??????????(研究)
http://blog.chinaunix.net/uid-25120309-id-3801250.html 一. AWK 说明 awk是一种编程语言,用于在linux/unix下对文本和数据进行 ...
- awk命令
awk 手册 原文 Table of Contents 1. awk简介 2. awk命令格式和选项 2.1. awk的语法有两种形式 2.2. 命令选项 3. 模式和操作 3.1. 模式 3.2 ...
随机推荐
- 安卓开发中遇到java.net.SocketException: Permission denied
仅需在AndroidManifest.xml添加 <uses-permission android:name="android.permission.INTERNET" /& ...
- python之路函数
1.函数参数,引用 2.lambda表达式 lambda表达式 f1 = lambda a1,a2: a1+a2 3.python的内置函数 abs(),绝对值 all(),循环参数,如果每个元素都为 ...
- PHP csv文件30w+数据导入mysql数据库
<?php class Add { public function data() { ini_set('memory_limit', '-1'); //PHP内存设置 $handle=fopen ...
- os.getcwd()和os.path.realpath(__file__)的区别
https://blog.csdn.net/xiaminli/article/details/74944580 python中split().os.path.split()函数用法
- 题解【AcWing271】杨老师的照相排列
题面 经典的线性 \(\text{DP}\) . 设 \(dp_{a,b,c,d,e}\) 表示第 \(1\) 排有 \(a\) 个人,第 \(2\) 排有 \(b\) 个人, 第 \(3\) 排有 ...
- redhat 桌面系统配置
1.grouplist命令 yum grouplist 回车 2. yum groupinstall "GNOME Desktop" "Graphical Admini ...
- Python记:静夜偶记
- python 3.8 下安装 tensorflow 1.14
pip install --upgrade https://storage.googleapis.com/tensorflow/mac/cpu/tensorflow-1.14.0-py3-none-a ...
- Jarvis OJ - [XMAN]level1 - Writeup
Jarvis OJ - [XMAN]level1 - Writeup M4x原创,转载请表明出处http://www.cnblogs.com/WangAoBo/p/7594173.html 题目: 分 ...
- Dapper简介
Dapper文档 一,介绍:Dapper是一款轻量级ORM工具.如果你在小的项目中,使用Entity Framework.NHibernate 来处理大数据访问及关系映射,未免有点杀鸡用牛刀.你又觉得 ...