1. 把/etc/passwd 复制到/root/test.txt,用sed打印所有行;
    2. 打印test.txt的3到10行;
    3. 打印test.txt 中包含’root’的行;
    4. 删除test.txt 的15行以及以后所有行;
    5. 删除test.txt中包含’bash’的行;
    6. 替换test.txt 中’root’为’toor’;
    7. 替换test.txt中’/sbin/nologin’为’/bin/login’
    8. 删除test.txt中5到10行中所有的数字;
    9. 删除test.txt 中所有特殊字符(除了数字以及大小写字母);
    10. 把test.txt中第一个单词和最后一个单词调换位置;
    11. 把test.txt中出现的第一个数字和最后一个单词替换位置;
    12. 把test.txt 中第一个数字移动到行末尾;
    13. 在test.txt ?20行到末行最前面加’aaa:’;
    现在给出以上练习题的答案,你如果实在想不出如何操作,那你看看答案吧,请尽量多想一下。
    1. ?/bin/cp /etc/passwd ?/root/test.txt ; ?sed -n '1,$'p test.txt
    2. ?sed -n '3,10'p test.txt
    3. ?sed -n '/root/'p test.txt
    4. ?sed '15,$'d ?test.txt
    5. ?sed '/bash/'d test.txt
    6. ?sed 's/root/toor/g' test.txt
    7. ?sed 's#sbin/nologin#bin/login#g' test.txt
    8. ?sed '5,10s/[0-9]//g' test.txt
    9. ?sed 's/[^0-9a-zA-Z]//g' test.txt
    10. ?sed 's/\(^[a-zA-Z][a-zA-Z]*\)\([^a-zA-Z].*\)\([^a-zA-Z]\)\([a-zA-Z][a-zA-Z]*$\)/\4\2\3\1/' test.txt
    11. ?sed 's#\([^0-9][^0-9]*\)\([0-9][0-9]*\)\([^0-9].*\)\([^a-zA-Z]\)\([a-zA-Z][a-zA-Z]*$\)#\1\5\3\4\2#' test.txt
    12. ?sed 's#\([^0-9][^0-9]*\)\([0-9][0-9]*\)\([^0-9].*$\)#\1\3\2#' test.txt
    13. ?sed 's/^.*$/&aaa/' test.txt
    ?
    1. 用awk 打印整个test.txt (以下操作都是用awk工具实现,针对test.txt);
    2. 查找所有包含’bash’的行;
    3. 用’:’作为分隔符,查找第三段等于0的行;
    4. 用’:’作为分隔符,查找第一段为’root’的行,并把该段的’root’换成’toor’(可以连同sed一起使用);
    5. 用’:’作为分隔符,打印最后一段;
    6. 打印行数大于20的所有行;
    7. 用’:’作为分隔符,打印所有第三段小于第四段的行;
    8. 用’:’作为分隔符,打印第一段以及最后一段,并且中间用’@’连接 (例如,第一行应该是这样的形式 “root@/bin/bash”;
    9. 用’:’作为分隔符,把整个文档的第四段相加,求和;
    下面给出答案:
    1. awk '{print $0}' test.txt
    2. awk '/bash/' test.txt
    3. awk -F':' '$3=="0"' test.txt
    4. awk -F':' '$1=="root"' test.txt |sed 's/root/toor/'
    5. awk -F':' '{print $NF}' test.txt
    6. awk -F':' 'NR>20' test.txt
    7. awk -F':' '$3<$4' test.txt
    8. awk -F':' '{print $1"@"$NF}' test.txt
    9. awk -F':' '{(sum+=$4)}; END {print sum}' test.txt

    http://lizhenliang.blog.51cto.com/7876557/1764025  Awk使用案例总结(运维必会)

转载于:https://blog.51cto.com/study2008/1844892

shell grep sed awk 练习相关推荐

  1. Shell ❀ 三剑客 - Grep + Sed + Awk

    文章目录 八.三剑客 - Grep + Sed + Awk 1.Grep - 过滤 1.1 常用grep参数 1.2 使用方法 2.Sed - 行匹配 2.1 执行原理 2.2 常见语法 2.3 使用 ...

  2. linux grep sed awk

    linux 文本编辑命令grep sed awk(转)     grep grep (global search regular expression(RE) and print out the li ...

  3. 三剑客grep sed awk

    三剑客 正则(RE)表达式 应用场景 规则 注意事项 正则符号 基础正则 扩展正则 正则实例 正则 VS 通配符 三剑客 grep sed sed核心应用 awk awk执行过程 内置变量 awk 正 ...

  4. linux三剑客及正则表达(grep,sed,awk)

    首先我们现在知道Linux下一切皆文件,对Linux的操作就是对文件的处理,那么怎么能更好的处理文件呢?这就要用到我们上面的三剑客命令. 在说这三个命令前我们要插入一个小插曲就是"正则表达式 ...

  5. 正则表达式与扩展正则表达式(grep, sed, awk)

    Linux中用来在文件中搜索字符串的命令,如grep, sed, awk等命令支持正则表达式与扩展正则表达式. 1. 基础正则表达式 符号 解释 示例 * 匹配0次或多次 b.*t . 匹配任意字符 ...

  6. Linux高级专题详解--shell编程大全(shell变量,if语句,case语句,for循环,while循环,函数调用,数组,正则表达式,shell脚本三剑客--grep,sed,awk家族)

    shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...

  7. 【Linux】 字符串和文本处理工具 grep sed awk

    Linux字符串&文本处理工具 因为用linux的时候主要用到的还是字符交互界面,所以对字符串的处理变得十分重要.这篇介绍三个常用的字符串处理工具,包括grep,sed和awk ■ grep ...

  8. linux 文本编辑命令grep sed awk

    grep grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具 ...

  9. Shell编程(三)grep sed awk文本处理三剑客

    上一章: Shell编程(二)_做测试的喵酱的博客-CSDN博客 一.ps命令 指令: ps 作用: 主要是查看服务器的进程信息 选项含义: -e:等价于 '-A' ,表示列出全部的进程 -f:显示全 ...

最新文章

  1. 终端html页面,HTML5的终端适配
  2. Java的基础方法Java的对象_java基础之 创建对象的几种方式
  3. IOS多线程 - 使用线程加载一张图片 - NSThread(1)(转)
  4. 一篇文章教你学会使用SpringBatch 监听器Listener
  5. sql执行有时候快有时候慢_如何让你的 SQL 执行的飞起?
  6. 不同浏览器css引入外部字体的方式
  7. 百度云搜索引擎森林战士_重磅!天翼云联手百度智能云推出“天翼云百度智能建站”...
  8. BeJavaGod - 如何正确使用数据字典进行分类统一操作(一)
  9. android nsdservice 类型,Android NSD onServiceFound()没有被调用
  10. java的写法作文,RxJava系列文章(二) - 网络图片添加水印RxJava写法
  11. 怎样使用Google chrome播放 .swf 文件
  12. Eclipse显示bin文件夹
  13. 色差仪确保番茄酱色彩一致性
  14. iOS 自定义导航栏 NavigationBar
  15. 安卓sdk自带模拟器的使用
  16. 两个文件内容差异对比,
  17. 辟谣、催债、倒闭.....2018年后,将再无创业黄金期!
  18. 4K电视与4K显示器的选择
  19. 《中国古代文学III(元明清)》
  20. RS-169系列产品说明书

热门文章

  1. 自己做一桌丰盛晚餐犒劳犒劳
  2. linux查看openssh和openssl版本
  3. java反射使用及性能比较
  4. Python内置函数(62)——exec
  5. os.environ详解
  6. RabbitMQ和Kafka
  7. [译]用AngularJS构建大型ASP.NET单页应用(二)
  8. 初学web开发需要掌握哪些方面?
  9. (四)数据结构之“队列”
  10. vue引入id3_Vue页面间传值,客户端数据存储,以及父子组件间props传值