删除第一行

 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计算方法

加减乘除算法

awk格式   printf"%格式化"
%c ASCLL字符
%d 整型
%f 浮点型
%s 字符串
%e 科学计数法
%g awk决定那种浮点数转换e或f

shell脚本sed awk的更多相关文章

  1. Makefile Shell 脚本;sed命令

    1. 在Makefile中想使用shell脚本,需要添加"@"符号,例如: @if [ -d xxx ]; then \                        //-d 判 ...

  2. shell脚本之awk(一)

     运维必备技能 概述: 1.awk是一种编程语言,用于linux/unix下对文本和数据进行扫描.处理数据来源:标准输入.文件.管道.  2.linux中常用的awk编译器版本有mawk,gawk.R ...

  3. shell脚本之awk、sed、grep案例

    1.BEGIN END用法user        DIR,内容显示用户名称.用户家目录   $NF为awk的内置变量,表示最后一行,$(NF-1)就表示倒数第二行,最后打印页脚 页眉显示 cat /e ...

  4. shell脚本 sed工具

    sed工具概述(流式编辑器)非交互,基于模式匹配过滤及修改文本逐行处理,并将结果输出到屏幕可实现对文本的输出,增,删,改,查等各种操作 sed流控制:!:取反操作,根据定址条件取反n:读下一行,产生隔 ...

  5. Shell脚本之awk篇

    目录:一.概述二.awk基本语法格式三.awk基本操作四.awk条件及循环语句五.awk函数六.awk演示示例(源自于man手册) 一.概述 1. 产品概述: awk是一种编程语言,用于在linux/ ...

  6. SHELL脚本之awk妙用

    对于一个sougou文本文件,解压后大概4G,要求在其基础上切出第一列时间年月日时分秒增加在列中,作为hive的一个索引.先将文件head一下展示格式: [root@Master date]# hea ...

  7. shell 脚本sed替换文件中某个字符串

    有些大文件,特别的大.有几百兆,甚至更大. 用文本编辑器打开十分的费劲,电脑都卡死了. 想替换其中的字符串,很麻烦. 这个时候有了shell,简直强大到爆炸! # du -h user.sql 304 ...

  8. Shell脚本之awk详解

    一.基本介绍 1.awk: awk是一个强大的文本分析工具,在对文本文件的处理以及生成报表,awk是无可替代的.awk认为文本文件都是结构化的,它将每一个输入行定义为一个记录,行中的每个字符串定义为一 ...

  9. shell脚本,awk实现跳过文件里面的空行。

    1.用awk '{if(!NF ){next}}1' file11 实现对文件里面的空行进行跳过操作,并输出结果. 2. awk '{if(!NF || /^#/){next}}1' file11 实 ...

随机推荐

  1. MVC5用户控件

    1. 添加一个model,用于给用户控件传递数据: 2.添加一个部分视图 . 3. 部分视图中,引入model,用于传递数据 4. 在要插入用户控件的地方,这样写 @Html.Partial(&quo ...

  2. C/C++顺序数据结构——动态数组测试

    这是一篇顺序表数据结构——动态数组的测试, 实现 //初始化数组 //插入 //根据位置删除 //根据值删除 //查找 //打印 //释放动态数组的内存 //清空数组 //获得动态数组容量 //获得动 ...

  3. CSPS模拟 100

    我又挂分了T_T 这么吉利的数字..本来想考的好一点的 T1 没加当前弧优化(其实也不会),若志了 各种低错连篇而且没想到点不联通..没有奇度点就直接从1开始搜了 于是喜提70(犯了这两个若志错误应该 ...

  4. 最新JetBrains PyCharm 使用教程--常用功能设置(三)

    选择代码路径和Python解释器版本 ​ 设置Pycharm菜单字体的大小 ​ 设置编辑器里面字体大小 ​ 设置文件编码 ​ 设置背景颜色 ​ 设置tab键为4个空格 ​ 设置代码内容和关键字颜色 ​ ...

  5. C语言程序设计100例之(6):数字反转

    例6    数字反转 题目描述 给定一个整数,请将该数各个位上数字反转得到一个新数.新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2). 输入格式 ...

  6. C语言I博客作业08

    这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 作业 我在这个课程的目标是 熟悉使用while和do-while结构解决问题 这个作业在那个具体方面帮助我实现目标 pta题目及查找的资料 ...

  7. mysql数据库基本操作语句

    1 更改字段名:change alter table student change column gradenews grade int(11); 2 增加字段和删除字段 alter table  s ...

  8. js在字符串中加入一段字符串

    在这个功能的实现主要是slice()方法的掌握 arrayObject.slice(start,end) start 必需.规定从何处开始选取.如果是负数,那么它规定从数组尾部开始算起的位置.也就是说 ...

  9. 【Elasticsearch 7 探索之路】(三)倒排索引

    上一篇,我们介绍了 ES 文档的基本 CURE 和批量操作.我们都知道倒排索引是搜索引擎非常重要的一种数据结构,什么是倒排索引,倒排索引的原理是什么. 1 索引过程 在讲解倒排索引前,我们先了解索引创 ...

  10. hdu 4337 King Arthur's Knights (Hamilton)

    King Arthur's KnightsTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...