linux基础(五)

2021-04-20  本文已影响0人  butters001

bash基础特性

shell 编程:过程式,解释执行
shell 脚本:#!/bin/bash shebang机制:首行指定解释器位置
shell 是弱类型编程语言:1. 把所有要存储的数据统统当作字符串;2.不支持浮点数

逻辑运算

&&:与
||:或
!:非
异或:相同为假,不同为真

短路运算:
  与:第一个为0,则结果必定为0
  或:第一个为1,则结果必定为1

linux 文件处理三剑客

grep:文本过滤(模式:pattern)工具
sed:stream editor 文本编辑工具
awk:linux上用的是gawk 文本报告生成器

grep

global search regular expression(RE) and print out the line
作用:文本搜索工具,根据pattern对目标文件逐行进行匹配检查,打印匹配到的行。
pattern:由正则表达式字符以及文本字符所编写的过滤条件。

正则表达式:
  基本正则表达式:BRE     grep
  扩展正则表达式:ERE     grep -E 或 egrep

grep [OPTIONS] PATTERN [FILE ...]
  --color=auto: 匹配到的内容自动上色
    centos7默认执行--color参数,centos6需要手动指定
  -v:反向选择,显示不能被匹配到的行
  -i:匹配时忽略字符大小写
  -o:仅显示匹配到的字符串本身
  -q:静默模式,不输出任何信息。结果可以从 $? 查看
  -A n:after 及后n行
  -B n:before 及前n行
  -C n:context 前后各n行

基本正则表达式:
  字符匹配:.  []  [^] 单个字符
  次数匹配:*  \?  \+  \{m\}  \{m,n\}  \{0,n\}  \{m,\}
  位置锚定:^  $  ^$空行
  词首锚定:\< 或 \b  用于单词模式的左侧
  词尾锚定:\> 或 \b  用于单词模式的右侧
  匹配pattern整个单词:\<PATTERN\>

分组:
  \(\)
  \(xy\)*    xy出现n次
  反向引用:引用前面的分组括号中模式所匹配到的字符,而非pattern
          \n 表示引用第几个分组的字符串


egrep 及扩展的正则表达式
egrep = grep -E
次数匹配:?  +  {m}  {m,n}  不需要反斜杠 \
分组:() 不需要\
其他:同grep
或者:a|b   
  C|cat    表示:C 或 cat
  (C|c)at  表示:Cat 或 cat

fgrep:不支持正则表达式
fgrep "xxx":只查找给定的字符串,速度快
上一篇下一篇

猜你喜欢

热点阅读