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" ...
随机推荐
- 关于HTTP返回码
301与302区别: 301 重定向 三种主流搜索引擎(Google, Bing, Yahoo)对待301都是一样的.它们忽略原始链接然后把重定向后的新链接加入索引.例如:如果用301把 http:/ ...
- 【Funny Things】001——QQ循环发送消息
借用Java的Robot类库中的键鼠模拟的方法,执行这个操作,首先切换到QQ界面,然后循环粘贴,回车发送消息. package newtest; import java.awt.*; import j ...
- Sumitomo Mitsui Trust Bank Programming Contest 2019 Task F. Interval Running
Link. There is a nice approach to this problem that involves some physical insight. In the following ...
- mysql 连接远程连接服务器 1130错误
今天在用sqlyog连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误, ERROR 1130: Host 192.168.3.100 is not allowed to con ...
- Python初学者常见错误详解
Python初学者常见错误详解 0.忘记写冒号 在 if.elif.else.for.while.class.def 语句后面忘记添加 “:” if spam == 42 print('Hello ...
- Spring Boot环境的安装
Eclipse 使用springboot框架 环境的安装 1.下载java1.8 ,安装并配置环境变量 环境变量增加java 的安装目录到环境变量中path中增加 %JAVA_HOME%/bin增加变 ...
- fiddler笔记:Find Session窗口
通过Edit菜单选项或CTRL+F打开Find Session窗口.其主要是用来搜索捕捉到的请求和响应. find 指定要搜索的文本 Options Search 支持的搜索选项:Requests a ...
- gulp做简单的js压缩
安装工具 全局安装npm install --global gulp 项目的依赖安装npm install --save-dev gulp npm install --save-dev gulp-re ...
- 针对Web的信息搜集
信息收集(Information Gathering),信息收集是指通过各种方式获取所需要的信息,在整个渗透测试环节中,信息搜集是整个渗透过程中最为重要的一环,信息搜集可占据整个渗透测试80%左右的工 ...
- Unity 更改鼠标指针
1. 把鼠标指针图标导入到Unity中,把它的Texture Type改为Cursor : 2. 打开PlayerSettings面板,把鼠标指针图片拖到Default Cursor中: 3. 在场景 ...