shell脚本sed awk
删除第一行
sed '1d' test.txt 假装执行
sed -i '1d' test.txt 执行
从第二行删除到行尾
sed '2,$d' test.txt
sed -i '2,$d' test.txt
sed -i '2,4d' test.txt 删除2到4行
删除以aaa开头的行
sed '/^aaa/d' test.txt
sed -i '/^aaa/d' test.txt
打印从5行开始 到第一个aaa开始的所有的行
sed -n '5,^aaa/p' test.txt #p: print 打印
一个sed执行多条命令
.删除第一行到第五行
.把小写的my变成MY
sed -e '1,5d' -e 's/my/MY/' test.txt
r:读取 插入aaa开头的下面 w写入
sed '/aaa/r /etc/passwd' test.txt
把包含aaa的都写入文件里
sed '/aaa/w /tmp/t2/txt' test.txt
以aaa开头的下面追加一行 append追加一行
sed '/^aaa/a\bbbbbbb' test.txt
指定行追加一行 第二行下面追加一行
sed '2a\xxxxxxxxxxxxxx' test.txt
在匹配行的下一行操作 s替换
sed '/aaa/{n;s/is/IS/;}' test.txt 只打印复合条件的第一个
sed '/aaa/{n;s/is/IS/g;}' test.txt g全局 可以修改全部的符合的条件
打印奇数行 sed -n 'p;n' test.txt sed -n '1~2p' test.txt
打印偶数行 sed -n 'n;p' test.txt sed -n '2~2p' test.txt
AWK模拟练习
AWK
linux取IP地址
ifconfig | grep -w inet | sed -n '1p' | awk '{print $2}'
eg:
awk -F ':' '{print $1}' /etc/passwd
awk -F ':' '{print $NF}' /etc/passwd 取最后一个字段
awk -F ':' '{print $(NF-1}' /etc/passwd
NR:行 NF:最后
awk ' NR==2 {print}' /etc/passwd 支取第二行
第一行第二个字段
awk -F ':' 'NR==1 {print $1}' /etc/passwd
第三行以后的
awk 'NR>3 {print}' /etc/passwd
小写转大写
awk -F ':' '{print toupper($1)}' /etc/passwd.bak
字符串改为小写
awk '{print tolower($0)}' /tmp/aa.txt
awk '/root/ {print}' /etc/passwd
awk -F ':' '$1=="root" {print}' /etc/passwd
awk -F ':' '$1=="root" {print $2}' /etc/passwd #$2打印第二个字段 $0所有字段
awk -F ':' '{if ($1=="root") print $1;else print $2}' /etc/passwd -F字段 ':' 以:为一个字段
100以内的数相加
seq |awk '{sum+=$0} END {print sum}'
vim sx BEGIN 没有开始处理文件时保存的
awk 'BEGIN {FS=":";print "统计销售金额";total=0} {print}' sx
awk 'BEGIN {FS=":";print "统计销售金额";total=0} {print $3;total+=$3} END {print "销售金额总计: %.2f\n",total}' sx
AWK计算方法
加减乘除算法

| %c | ASCLL字符 |
| %d | 整型 |
| %f | 浮点型 |
| %s | 字符串 |
| %e | 科学计数法 |
| %g | awk决定那种浮点数转换e或f |
shell脚本sed awk的更多相关文章
- Makefile Shell 脚本;sed命令
1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \ //-d 判 ...
- shell脚本之awk(一)
运维必备技能 概述: 1.awk是一种编程语言,用于linux/unix下对文本和数据进行扫描.处理数据来源:标准输入.文件.管道. 2.linux中常用的awk编译器版本有mawk,gawk.R ...
- shell脚本之awk、sed、grep案例
1.BEGIN END用法user DIR,内容显示用户名称.用户家目录 $NF为awk的内置变量,表示最后一行,$(NF-1)就表示倒数第二行,最后打印页脚 页眉显示 cat /e ...
- shell脚本 sed工具
sed工具概述(流式编辑器)非交互,基于模式匹配过滤及修改文本逐行处理,并将结果输出到屏幕可实现对文本的输出,增,删,改,查等各种操作 sed流控制:!:取反操作,根据定址条件取反n:读下一行,产生隔 ...
- Shell脚本之awk篇
目录:一.概述二.awk基本语法格式三.awk基本操作四.awk条件及循环语句五.awk函数六.awk演示示例(源自于man手册) 一.概述 1. 产品概述: awk是一种编程语言,用于在linux/ ...
- SHELL脚本之awk妙用
对于一个sougou文本文件,解压后大概4G,要求在其基础上切出第一列时间年月日时分秒增加在列中,作为hive的一个索引.先将文件head一下展示格式: [root@Master date]# hea ...
- shell 脚本sed替换文件中某个字符串
有些大文件,特别的大.有几百兆,甚至更大. 用文本编辑器打开十分的费劲,电脑都卡死了. 想替换其中的字符串,很麻烦. 这个时候有了shell,简直强大到爆炸! # du -h user.sql 304 ...
- Shell脚本之awk详解
一.基本介绍 1.awk: awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的.awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一 ...
- shell脚本,awk实现跳过文件里面的空行。
1.用awk '{if(!NF ){next}}1' file11 实现对文件里面的空行进行跳过操作,并输出结果. 2. awk '{if(!NF || /^#/){next}}1' file11 实 ...
随机推荐
- 使用Typescript重构axios(十六)——请求和响应数据配置化
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- Ubuntu16.04安装Nginx+PHP5.6+MySQL5.6
安装Nginx 1.首先添加nginx_signing.key(必须,否则出错) $ wget http://nginx.org/keys/nginx_signing.key $ sudo apt-k ...
- vue 单页面应用 app自适应方案
本文是使用淘宝的方案进行布局开发的,遇到的问题是会对app内使用的第三方插件,当页面进行缩放后,比如高德地图中的文字会显得过小,我使用的方法就是手动的动每一个尺寸进行手动的px 到 rem的替换,而不 ...
- python——时间模块
格式化时间字符串 %y 两位数的年份表示(00-99) %Y 四位数的年份表示(0000-9999) %m 月份(01-12) %d 月内的一天(0-31) %H 24小时制的小时数(0-23) %I ...
- 使用AForge录制视频
使用AForge录制视频,基于Winform开发 (一)首先导入AForge包 需要先导入 using AForge.Video;using AForge.Video.FFMPEG; 两个工具包 (二 ...
- egret Tiledmap编写障碍物的思路
egret Tiledmap编写障碍物的思路 获取控制对象下一刻移动的坐标,将其转换成瓦片坐标,如果getTileGIDAt(根据瓦片坐标获取瓦片id)的值不为0,说明对象将要移动的位置有障碍物,不做 ...
- Python 面向对象之五 基础拾遗
Python 面向对象之五 基础拾遗 今天呢,就剩下的面向对象的相关知识进行学习,主要会学习以下几个方面的知识:1.上下文管理协议,2.为类加装饰器 3.元类 一.上下文管理协议 在学习文件操作的时候 ...
- ReactJS的4行代码
Angular 2一个显著的变动是,把Angular 1的Promise pattern改成了Observer pattern,并且使用了ReactJS.这里有一篇值得一读的文章 要搞懂ReactJS ...
- ASP.NET Core 1.0: Deploy to IIS
尽管ASP.NET最新的官方文档记录了如何Deploy to IIS,但是实际操作起来依旧磕磕绊绊.官方文档地址:https://docs.asp.net/en/latest/publishing/i ...
- hdu 2444 The Accomodation of Students (判断二分图,最大匹配)
The Accomodation of StudentsTime Limit: 5000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...