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的执行方式的更多相关文章

  1. awk的执行方式

    https://blog.csdn.net/fengyuanye/article/details/82858863 awk执行有三种形式: 1.直接以命令行来执行,        语法形式为:awk  ...

  2. 【Linux进阶】使用grep、find、sed以及awk进行文本操作

    目录 一.元字符 二.grep命令 1. 过滤出包含某字符串的行 2. 过滤出以某字符串开头(结尾)的行 3. 过滤出包含某字符串及其相邻的行 4. 过滤出不包含某关键字的行 5. 过滤出包含多个字符 ...

  3. Sed、Awk单行脚本快速参考

    文本间隔: # 在每一行后面增加一空行 sed G awk '{printf("%s\n\n",$0)}' # 将原来的所有空行删除并在每一行后面增加一空行. # 这样在输出的文本 ...

  4. sed and awk学习笔记

    sed and awk 背景 awk起源追溯至sed和grep,进而追溯至共同的行编辑器ed.实用工具grep来源于ed命令:g/re/p .实用工具awk和sed有一个共同的选项-f用于指定脚本的名 ...

  5. linux(5)--补充(管道| / 重定向> / xargs)/find 与xargs结合使用/vi,grep,sed,awk(支持正则表达式的工具程序)

    本节中正则表达式的工具程序 grep,sed和awk是重点,也是难点!!! 先补充一下一. 管道| / 重定向> / xargs 如:1. 管道和重定向的区别:具体可以见 http://www. ...

  6. sed和awk用法

    sed和awk用法 Sed sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为 ...

  7. Linux文本三剑客超详细教程---grep、sed、awk

    awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...

  8. linux shell必知必会sed、awk

    sed是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往 ...

  9. LINUX sed grep awk之间比较整理

    正则表达式基础 在最简单的情况下,一个正则表达式看上去就是一个普通的查找串.例如,正则表达式"testing"中没有包含任何元字符,,它可以匹配"testing" ...

随机推荐

  1. oracle杀死正在执行的进程

    1 查询目前正在执行的终端和进程, SELECT /*+ rule */ s.username,decode(l.type,'TM','TABLE LOCK','TX','ROW LOCK',NULL ...

  2. flink两种安装方式

    Flink Standalone 集群 HA 配置 1. HA 集群环境规划 使用三台节点实现两主两从集群(由于笔记本性能限制,不能开启太多虚拟机,其实使用三 台和四台机器在安装配置上没有本质区别) ...

  3. VMWare虚拟机15.X局域网网络配置(修改网卡)

    最近在搞几台虚拟机来学习分布式和大数据的相关技术,首先先要把虚拟机搞起来,搞起虚拟机第一步先安装系统,接着配置网络 vmware为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式).N ...

  4. Education Reform(CodeForces-119C)【DP】

    题意:从m门课选出n个排到n天,每天一门,难度须递增,每门课对应着一个作业量Xi,且Xi = Xi-1 + k or Xi - Xi-1 * k,总作业量要尽可能大,问能否排布,若能排布,求方案. 思 ...

  5. 一块40克的砝码,摔成4块,利用天平,刚好可以称出1~40g所有整数克,问:这4块分别是多少克

    public static void main(String[] args) { List<Integer> list = new ArrayList<>();//记录每组数的 ...

  6. linux下mysql数据导入到redis

    自Redis 2.6以上版本起,Redis支持快速大批量导入数据,即Pipe传输.通过将要导入的命令转换为Resp格式,然后通过MySQL的concat()来整理出最终导入的命令集合,以达到快速导入的 ...

  7. StoneTab标签页CAD插件 3.2.3

    //////////////////////////////////////////////////////////////////////////////////////////////////// ...

  8. linux - 卸载python

    2019年10月15日12:05:42 [root@spider1 bin]# rpm -qa|grep python|xargs rpm -ev --allmatches --nodeps ##强制 ...

  9. nodeJS中使用mongoose模块操作mongodb数据库

    在实际运用中,对于数据库的操作我们不可能一直在cmd命令行中进行操作,一般情况下需要在node环境中来操作mongodb数据库,这时就需要引入mongoose模块来对数据库进行增删改查等操作. 首先, ...

  10. js获取图片内容上传

    <script> $('#pic').change(function(){ var size=document.getElementById('pic').files[0].size va ...