sed 和awk的执行方式
sed
测试案例:
在有cat的行末开始追加<---,直到有dog的行结束
- [root@L shells]# cat catDog.txt
- snake
- snake
- pig
- bird
- dog
- cat
- snake
- pig
- bird
- snake
- cat
- bird
- dog
- bird
- tiger
- snake
- bird
- cat
- lion
- ji
- sdf
一.命令
- [root@L shells]# sed '/cat/,/dog/s/$/<---/' catDog.txt
- snake
- snake
- pig
- bird
- dog
- cat <---
- snake <---
- pig<---
- bird<---
- snake<---
- cat<---
- bird<---
- dog <---
- bird
- tiger
- snake
- bird
- cat<---
- lion<---
- ji<---
- sdf<---
二.sed脚本
- [root@L shells]# cat sed.txt
- /cat/,/dog/s/$/<---/
- [root@L shells]# sed -f sed.txt catDog.txt
- snake
- snake
- pig
- bird
- dog
- cat <---
- snake <---
- pig<---
- bird<---
- snake<---
- cat<---
- bird<---
- dog <---
- bird
- tiger
- snake
- bird
- cat<---
- lion<---
- ji<---
- sdf<---
awk
测试案例 :
把文本按行倒序排列
- [root@L shells]# cat zancun.txt
一.命令
- [root@L shells]# awk '{line[NR]=$0}END{for(i=NR;i>0;i--){print line[i]}}' zancun.txt
二.awk脚本
- [root@L shells]# cat awk.txt
- {line[NR]=$}END{for(i=NR;i>;i--){print line[i]}}
- [root@L shells]# awk -f awk.txt zancun.txt
- [root@room9pc01 ~]# cat awk.txt
- BEGIN{FS=":";printf "%-30s %-10s %-30s \n","User","UID","Home"}
- {printf "%-30s %-10s %-30s \n",$,$,$} # %10s 占10个位置 -左对齐
- END{printf ""Total",NR"lines"}
- [root@room9pc01 ~]# awk -f awk.txt /etc/passwd
- User UID Home
- root root
- bin bin
- daemon daemon
- adm adm
- lp lp
- sync sync
- shutdown shutdown
- halt halt
- mail mail
- operator operator
- games games
- ftp FTP User
- nobody Nobody
- avahi-autoipd Avahi IPv4LL Stack
- systemd-bus-proxy systemd Bus Proxy
- systemd-network systemd Network Management
- dbus System message bus
- polkitd User for polkitd
- abrt
- tss Account used by the trousers package to sandbox the tcsd daemon
- unbound Unbound DNS resolver
- usbmuxd usbmuxd user
- colord User for colord
- saslauth Saslauthd user
- libstoragemgmt daemon account for libstoragemgmt
- geoclue User for geoclue
- rpc Rpcbind Daemon
- setroubleshoot
- rtkit RealtimeKit
- qemu qemu user
- rpcuser RPC Service User
- nfsnobody Anonymous NFS User
- radvd radvd user
- chrony
- pulse PulseAudio System Daemon
- gdm
- gnome-initial-setup
- avahi Avahi mDNS/DNS-SD Stack
- postfix
- sshd Privilege-separated SSH
- ntp
- tcpdump
- Student
- apache Apache
- mysql MariaDB Server
- Total 45lines
三.shell脚本
- [root@L shells]# cat zancun.txt
- [root@L shells]# cat awk.sh
- #!/usr/bin/awk -f
- #FileName: :awk.sh
- #Description:
- #
- #Author :root
- #Date :--
- BEGIN{}
- {line[NR]=$}
- END{
- for(i=NR;i>;i--){
- print line[i]
- }
- }
- [root@L shells]# ./awk.sh zancun.txt
- [root@room9pc01 ~]# cat awk.awk
- #!/usr/bin/awk -f
- BEGIN{
- FS=":";
- printf "%-30s %-10s %-30s \n","User","UID","Home"
- }
- {
- printf "%-30s %-10s %-30s \n",$,$,$
- } # %10s 占10个位置 -左对齐
- END{
- print "Total",NR"lines"
- }
- [root@room9pc01 ~]# ./awk.awk /etc/passwd
- User UID Home
- root root
- bin bin
- daemon daemon
- adm adm
- lp lp
- sync sync
- shutdown shutdown
- halt halt
- mail mail
- operator operator
- games games
- ftp FTP User
- nobody Nobody
- avahi-autoipd Avahi IPv4LL Stack
- systemd-bus-proxy systemd Bus Proxy
- systemd-network systemd Network Management
- dbus System message bus
- polkitd User for polkitd
- abrt
- tss Account used by the trousers package to sandbox the tcsd daemon
- unbound Unbound DNS resolver
- usbmuxd usbmuxd user
- colord User for colord
- saslauth Saslauthd user
- libstoragemgmt daemon account for libstoragemgmt
- geoclue User for geoclue
- rpc Rpcbind Daemon
- setroubleshoot
- rtkit RealtimeKit
- qemu qemu user
- rpcuser RPC Service User
- nfsnobody Anonymous NFS User
- radvd radvd user
- chrony
- pulse PulseAudio System Daemon
- gdm
- gnome-initial-setup
- avahi Avahi mDNS/DNS-SD Stack
- postfix
- sshd Privilege-separated SSH
- ntp
- tcpdump
- Student
- apache Apache
- mysql MariaDB Server
- Total 45lines
sed 和awk的执行方式的更多相关文章
- awk的执行方式
https://blog.csdn.net/fengyuanye/article/details/82858863 awk执行有三种形式: 1.直接以命令行来执行, 语法形式为:awk ...
- 【Linux进阶】使用grep、find、sed以及awk进行文本操作
目录 一.元字符 二.grep命令 1. 过滤出包含某字符串的行 2. 过滤出以某字符串开头(结尾)的行 3. 过滤出包含某字符串及其相邻的行 4. 过滤出不包含某关键字的行 5. 过滤出包含多个字符 ...
- Sed、Awk单行脚本快速参考
文本间隔: # 在每一行后面增加一空行 sed G awk '{printf("%s\n\n",$0)}' # 将原来的所有空行删除并在每一行后面增加一空行. # 这样在输出的文本 ...
- sed and awk学习笔记
sed and awk 背景 awk起源追溯至sed和grep,进而追溯至共同的行编辑器ed.实用工具grep来源于ed命令:g/re/p .实用工具awk和sed有一个共同的选项-f用于指定脚本的名 ...
- linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)
本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...
- sed和awk用法
sed和awk用法 Sed sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为 ...
- Linux文本三剑客超详细教程---grep、sed、awk
awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...
- linux shell必知必会sed、awk
sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往 ...
- LINUX sed grep awk之间比较整理
正则表达式基础 在最简单的情况下,一个正则表达式看上去就是一个普通的查找串.例如,正则表达式"testing"中没有包含任何元字符,,它可以匹配"testing" ...
随机推荐
- IDEA配置之tomcat相关配置
1. tomcat起服务时, 日志乱码 -server -XX:PermSize=512M -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8 设置tomcat参数
- c# dateTime格式转换为Unix时间戳工具类
using System; using System.Collections.Generic; using System.Text; namespace TJCFinanceWriteOff.BizL ...
- Kubernetes---资源控制器之DaemonSet、Job和CronJob
⒈DaemonSet介绍,什么是DaemonSet DaemonSet 确保全部(或者一些)Node 上运行一个Pod的副本[注意主节点并不会参加调度].当有 Node 加入集群时,也会为他们新增一个 ...
- Netty源码剖析-启动服务
参考文献:极客时间傅健老师的<Netty源码剖析与实战>Talk is cheap.show me the code! --1主线分两步: 一:首先在our thread里,如果写在mai ...
- 宝塔面板liunx开启ssl域名后无法访问解决方法
不打开宝塔面板的ssl会不安全,打开了就会提示ssl证书不能使用的错误 如下所示: 您的连接不是私密连接 攻击者可能会试图从 你的ip 窃取您的信息(例如:密码.通讯内容或信用卡信息).了解详情 NE ...
- 第三章 VIVADO 自定义IP 流水灯实验
第二章里面已经说过了,MIZ701 PL部分没有输入时钟,因此驱动PL资源必须是通过PS来提供时钟,所以这个流水灯实验也得建立一个最小系统了,然后再添加一个流水灯的自定义IP. 3.0本章难度系数★★ ...
- spring-boot-plus CORS跨域处理
CORS跨域处理 CORS:Cross-Origin Resource Sharing CORS是一种允许当前域(domain)的资源(比如html/js/web service)被其他域(domai ...
- 利用Mathpix Snipping Tool轻松在markdown/LaTeX中输入电子书和论文的数学公式
最近写图形学博客写累了,公式太多了,一个个输入实在太累,所以从数学建模队友那里吃了一个安利. 官网下载 下载安装后,直接新建一个截图,就可以转成LaTeX数学公式了.效果如下: 爽的一批啊!!! 另外 ...
- jemeter鬓发压力测试包
使用: 为子线程添加响应时间:https://www.cnblogs.com/duanxz/p/5464993.html 结果查看分析:聚合报告在监听器里面: https://wenku.baidu. ...
- Fiddler 基础
Fiddler 基础 来源 https://blog.csdn.net/ohmygirl/article/details/17855031 1.为什么是Fiddler? 抓包工具有很多,小到最常用的w ...