您当前的位置:首页 > 电脑百科 > 软件技术 > 操作系统 > linux

Linux Shell工具之 sed/awk

时间:2020-07-24 11:16:25  来源:  作者:



分享下处理数据分析时,linux shell 两个比较基础的工具

sed 指令

非交互式的字符流编辑器,支持对多文件多行的管道处理

sed [option] 'command' f.txt

sed -n '2,3p' f.txt 输出文件的第2到3行

sed -n '/ok/p' f.txt 输出文件中匹配ok的行

sed -i 's/mac/ok/g' f.txt 替换文件中mac字符为ok g表示全局替换

sed -i '/mac/d' f.txt 删除文件中匹配mac字符的行

sed -i 是直接在原文件上修改

sed -e 不在原文件上修改,输出到终端,可以借助cat 命令 > 输出到文件中,达到和sed -i 一样的效果

 

awk 指令

awk -F"," '条件{指令}' 包含多个条件时,通过分号隔开.默认的分隔符是空格

awk -F"," 'NF==7{print $0}' 如果读取行的字段数是7则输出此行

awk -F"," 'if(NF==7){print $0}' 条件语句

awk -F"," '{name="jim";age=10;print name}' a.txt 自定义变量

awk -F"," '/keywords/{print $0}' 通过匹配模式过滤

free|awk '/Mem/{print $4}' 查看剩余内存

ifconfig em1|awk '/inet/{print $2}' 查看Ip

uptime |awk '{print $1,$10}' 查看cpu使用率

 

awk [选项] ' BEGIN{编辑指令 } {编辑指令} END{编辑指令}' 文件

  • 在所有行前处理,BEGIN{}

读入第一行文本之前执行(执行1次),一般用来初始化操作

  • 逐行处理,{}

逐行读入文本执行相应的处理(1行执行1次),是最常见的编辑指令块

  • 在所有行后处理,END{}

处理完最后一行文本之后执行(执行1次),一般用来输出处理结果

三者可单独使用,也可同时使用。 所有命令都要写在{}里

 

awk 'BEGIN{print "hello"}条件{print "a"}END{print "over"}' a.txt

ifconfig em1 |awk 'BEGIN{print "开始a"}/inet/{print $2}END{print "结束o"}'



Tags:Linux Shell   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
在 shell 中使用 bc 更好地做算数,它是一种用于高级计算的数学语言。• 来源:linux.cn • 作者:Seth Kenlon • 译者:geekpi •(本文字数:1955,阅读时长大约:2 分...【详细内容】
2020-09-29  Tags: Linux Shell  点击:(133)  评论:(0)  加入收藏
本篇主要是以x64系统为例对系统调用中一些功能性函数的解读和实际运用。目前网络上流传的通用shellcode,均使用系统调用实现,在记录整个学习过程的同时分享给大家一起学习探讨...【详细内容】
2020-09-02  Tags: Linux Shell  点击:(75)  评论:(0)  加入收藏
1、单引号(' ')单引号所见即所得,直接显示单引号里的内容。即单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的。比如下面的例子,单引号所见即所得。 2、...【详细内容】
2020-08-03  Tags: Linux Shell  点击:(79)  评论:(0)  加入收藏
分享下处理数据分析时,linux shell 两个比较基础的工具sed 指令非交互式的字符流编辑器,支持对多文件多行的管道处理sed [option] 'command' f.txtsed -n '2,3p...【详细内容】
2020-07-24  Tags: Linux Shell  点击:(77)  评论:(0)  加入收藏
Linux为高级用户提供了一些最好的开源shell,我们冒昧地为Linux用户列出了一些最好的免费开源shell。请仔细阅读本文,找出最适合您的Linux shell。自从70年代Unix系统诞生以来,...【详细内容】
2020-05-04  Tags: Linux Shell  点击:(80)  评论:(0)  加入收藏
Linux为高级用户提供了一些最好的开源shell,我们冒昧地为Linux用户列出了一些最好的免费开源shell。请仔细阅读本文,找出最适合您的Linux shell。自从70年代Unix系统诞生以来,...【详细内容】
2020-05-04  Tags: Linux Shell  点击:(44)  评论:(0)  加入收藏
转自 | talkwithtrend作者 | db2haodbshell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果。一、逻辑运算符1、逻辑卷标...【详细内容】
2019-12-17  Tags: Linux Shell  点击:(109)  评论:(0)  加入收藏
Linux 内置命令属于用户 shell 的一部分,本文将告诉你如何识别它们并获取使用它们的帮助。-- Sandra Henry-stocker(作者)Linux 内置命令是内置于 shell 中的命令,很像内置于墙...【详细内容】
2019-12-06  Tags: Linux Shell  点击:(94)  评论:(0)  加入收藏
Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替。既然是基本功,那就需要掌握,毕竟学习Shell脚本的过程中,还是能了解到很多Linux系统的内容。...【详细内容】
2019-10-25  Tags: Linux Shell  点击:(1120)  评论:(0)  加入收藏
前言有时候我们常看到类似这样的脚本调用:./test.sh > log.txt 2>&1 这里的2>&1是什么意思?该如何理解?先说结论:上面的调用表明将./test.sh的输出重定向到log.txt文件中,同时将...【详细内容】
2019-10-25  Tags: Linux Shell  点击:(144)  评论:(0)  加入收藏
▌简易百科推荐
作用显示文件或目录所占用的磁盘空间使用命令格式du [option] 文件/目录命令功能显示文件或目录所占用的磁盘空间一些写法的区别du -sh xxx 显示总目录的大小,但是不会列出...【详细内容】
2021-12-23  mitsuhide1992    Tags:du命令   点击:(12)  评论:(0)  加入收藏
什么是linux内核linux就像是一个哲学的最佳实践。如果非要对它评价,我真的不知道该怎么赞叹,我只能自豪地说着:“linux的美丽简直让人沉醉。”我只能说是我处在linux学习的修炼...【详细内容】
2021-12-23  linux上的码农    Tags:linux内核   点击:(15)  评论:(0)  加入收藏
本文将比较 Linux 中 service 和 systemctl 命令,先分别简单介绍这两个命令的基础用法,然后进行比较。从 CentOS 7.x 开始,CentOS 开始使用 systemd 服务来代替 service服务(dae...【详细内容】
2021-12-23  软件架构    Tags:systemctl   点击:(13)  评论:(0)  加入收藏
mv是move的缩写,可以用来移动文件或者重命名文件名,经常用来备份文件或者目录。命令格式mv [选项] 源文件或者目录 目标文件或者目录命令功能mv命令中第二个参数类型的不同(...【详细内容】
2021-12-17  入门小站    Tags:mv命令   点击:(23)  评论:(0)  加入收藏
大数据技术AI Flink/Spark/Hadoop/数仓,数据分析、面试,源码解读等干货学习资料 98篇原创内容 -->公众号 Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处...【详细内容】
2021-12-17  仙风道骨的宝石骑士    Tags:sed命令   点击:(21)  评论:(0)  加入收藏
Node是个啥?  写个东西还是尽量面面俱到吧,所以有关基本概念的东西我也从网上选择性地拿了下来,有些地方针对自己的理解有所改动,对这些概念性的东西有过了解的可选择跳过这段...【详细内容】
2021-12-15  linux上的码农    Tags:node   点击:(21)  评论:(0)  加入收藏
难道只有我一个人觉得Ubuntu的unity桌面非常好用吗?最近把台式机上面的Ubuntu 16.04格式化了,装了黑苹果用了一周,不得不说,MacOS确实很精美,软件生态比Linux丰富很多,比Windows简...【详细内容】
2021-12-14  地球末日村    Tags:ubuntu   点击:(34)  评论:(0)  加入收藏
简介Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。输出信息含义执行net...【详细内容】
2021-12-13  窥镜天    Tags:Linux netstat   点击:(26)  评论:(0)  加入收藏
对于较多数量的文件描述符的监听无论是select还是poll系统调用都显得捉襟见肘,poll每次都需要将所有的文件描述符复制到内核,内核本身不会对这些文件描述符加以保存,这样的设计...【详细内容】
2021-12-13  深度Linux    Tags:Linux   点击:(16)  评论:(0)  加入收藏
今天,我们来了解下 Linux 系统的革命性通用执行引擎-eBPF,之所以聊着玩意,因为它确实牛逼,作为一项底层技术,在现在的云原生生态领域中起着举足轻重的作用。截至目前,业界使用范...【详细内容】
2021-12-10  架构驿站    Tags:eBPF   点击:(24)  评论:(0)  加入收藏
相关文章
    无相关信息
最新更新
栏目热门
栏目头条