191145692 发表于 2018-8-24 07:04:27

shell学习部分笔记

  找出行尾结束为小数点的一行
  grep -n '\.$' regular_express.txt
  grep -v '^$' /etc/syslog.conf|grep -v '^#'
  # grep -n '*' aa.log
  1:However,this $31833 dollars
  2:you no. 1.
  怎么会包换第二行呢,这里面只有一个数字呀
  # grep -n '' aa.log
  1:However,this $31833 dollars
  # grep -n '' aa.log
  1:However,this $31833 dollars
  2:you no. 1.
  #
  因为*代表:重复0个或者多个前面的RE字符,因为 o*表示拥有空字符或者一个o以上的字符,特别注意,因为允许空字符(就是不管是否有字符都可以的意思),因此,grep -n 'o*' aa.log 将会把所有数据都显示在屏幕上
  如果是(oo*) 第一个o肯定要存在,第二个o则是可有可无的,所以,凡是含有o,oo,ooo,oooo,......都会列出来
  同理,当需要至少两个o以上的字符串就需要 ooo*
  # grep -n 'g.*g' aa.log
  # grep -n 'g.*g' aa.log
  3:gasdfasgle
  限定连续重复字符范围{}
  比如找2~5个o的连续字符串,该怎么做?就是用{},又因为{}是特殊字符,所以得使用转义符\让他失去特殊意义。
  找两个
  grep -n 'o\{2\}' aa.log
  2~5个
  grep -n 'o\{2,5\}' aa.log
  将行尾为 !的那一行显示出来
  grep -n '!$' aa.log

页: [1]
查看完整版本: shell学习部分笔记