Linux-2018-spring-5-22

来自SUDA-HLT
Liying讨论 | 贡献2018年5月22日 (二) 05:25的版本 (创建页面,内容为“一、复习 *正则表达式 *sed *vim 二、新内容 *sed的应用 sed 's/^ //' score.txt | less 把每行前四个空格删掉 sed -r 's/^\s+//...”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

一、复习

  • 正则表达式
  • sed
  • vim


二、新内容

  • sed的应用
   sed 's/^    //' score.txt | less 把每行前四个空格删掉
   sed -r 's/^\s+//' socre.txt>score2.txt
   sed '1d' score.txt | less 删除第一行
   sed 's/[^0-9]$/d'删除缺考的那一行
   sed -r 's/[^0-9 ].*[^0-9]/ /'
  • egrap
  egrap '^([a-Z]+)([0-9]+) \2\1$':一行的开始第一组为字母,第二组为数字,然后是空格,需要严格匹配。匹配上abc123 123abc 匹配不上:abc123 342abc
  egrap '^([a-Z]+)([0-9]+) ([0-9]+)([a-Z]+)$':可匹配上abc123 342abc


  • awk
  awk '条件/模式 {动作}'
  awk '$3>=90 {print}' score1.txt | less:$3为第三列 
  awk '{print $2 " " $5}':打印两列
  awk '{print $2,$5}'
  awk 'NR>1 {print}'




  • 补充


1、hexdump -C score.txt | less 分屏显示一个文本的二进制 2、unicode类别:utf-8,utf-16;0a;换行;0d:回车;20:空格;汉字大于一个字节;数字1:nicode码里面对应十六进制的31,十进制的49。