文本处理、基本扩展正则、shell脚本

 ̄綄美尐妖づ 提交于 2019-11-27 00:27:05

文本处理、基本扩展正则、shell脚本

文本处理


一、查看文件内容命令:cat、tac、nl、tail、head、more、less

1、cat命令 默认查看文本所有内容
    基本选项:
     -E:显示行结束符
     -n:对显示出的每一行进行编号
     -A:显示看不见的控制符、换行符、和tab键空格
     -b:非空行进行编号
     -s:压缩连续的空行成一行
      man cat 帮助查看更多用法  

2、tac命令倒序查看文本内容 

 3、tail命令
 -f:跟踪显示文件新追加的内容,实时查看日志监控
 -n:显示文件最后第几行
 -F:跟踪文件名

4、nl命令:将指定文件中有内容的行添加行号后标准输出

5、rev命令:最后一个字符显示到第一个字符移位

6、head命令:查看文本内容行
 -q 隐藏文件名
 -v 显示文件名
 -c<字节> 查看显示文件前多少个字节 echo wujiancong | head -c3
 -n<行数> 显示文件后多少行
 n:显示文件多少行

 6、more命令:分页查看文件   
 7、less命令:一页一页的查看文件

二、文本内容统计排序 wc sort

1、wc命令

 选项
  -c 统计字节数。
  -l 统计行数。
  -m 统计字符数。这个标志不能与 -c 标志一起使用。
  -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
  -L 打印最长行的长度。

2、sort命令把整理过的文本显示在标准输出,不改变原始文件

选项
 -n  执行数字大小整理
 -r    (由上至下)整理
 -R    随机排序-n 执行按数字大小整理
 -f     选项忽略(fold)字符串中的字符大小写
 -u    选项(独特,unique)删除输出中的重复行
 -t c  选项使用c做为字段界定符
 -k X  选项按照使用c字符分隔的X列来整理能够使用多次

3、cut命令

 -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
 -c :取字符数
 -d :自定义分隔符,默认为制表符。
 -f :与-d一起使用,指定第几列,-f1,3

4、uniq命令 从输入中删除前后相接的重复的行

 -c: 显示每行重复出现的次数
 -d: 只显示重复过的行
 -u: 只显示没有重复的行

三、基本正则表达式

1、grep命令

 选项  
 --color=auto: 对匹配到的文本着色显示
 -m:# 匹配#次后停止
 -v:显示不被pattern匹配到的行	grep -v “^#" /etc/fstab
 -i:忽略字符大小写
 -n:过滤显示匹配的行号
 -c:统计匹配的行数
 -o:仅显示匹配到的字符串
 -q:静默模式,不输出任何信息
 -A:# after, 后#行 
 -B:# before, 前#行 
 -C:# context, 前后各#行
 -e:实现多个选项间的逻辑or关系
 -w:匹配整个单词    数字 字母 下划线 
 -E:开启扩展正则表达式
 -F:相当于fgrep,不支持正则表达式
 -f: file 根据模式文件处理  grep -f  f1 f4:过滤出两文件相同 处 

__2、基本扩展正则表达式__

 . 匹配任意单个字符
 [] 匹配指定范围内的任意单个字符,示例:[wang] [0-9] [a-z] [a-zA-Z]
 [^] 匹配指定范围外的任意单个字符
 [:alnum:] 字母和数字
 [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z
 [:lower:] 小写字母 [:upper:] 大写字母
 [:blank:] 空白字符(空格和制表符)
 [:space:] 水平和垂直的空白字符(比[:blank:]包含的范围广)
 [:cntrl:] 不可打印的控制字符(退格、删除、警铃...)
 [:digit:] 十进制数字 [:xdigit:]十六进制数字
 [:graph:] 可打印的非空白字符
 [:print:] 可打印字符
 [:punct:] 标点符号 
 匹配次数:用在要指定次数的字符后面,用于指定前面的字符要出现的次数
 * :匹配前面的字符任意次,包括0次
 -.* 任意长度的任意字符 贪婪模式:尽可能长的匹配 
 \?:匹配其前面的字符0或1次 
 \{n\}:匹配前面的字符n次 
 \{m,n\}:匹配前面的字符第几次到第几次范围 {2,4\}"  匹配第2到第四个
 \{,n\}:匹配前面的字符至多n次	grep  ”a{,10\}"  匹配10次以下
 \{n,\}:匹配前面的字符至少n次	grep “a\{10,\}"  匹配10个以上
 位置牟定
 ^:行首锚定,用于模式的最左侧
 $ :行尾锚定,用于以什么什么结尾的行
 ^PATTERN$ 用于模式匹配整行
 ^$ :空行
 ^[[:space:]]*$ :空白行
 \<  词首锚定,匹配单词词首   
 \b:词首或词尾锚定用法

示列 

shell脚本

1、编程基础
脚本基本格式、变量、运算、条件测试、条件判断if case配置用户环境。

  编程基础
  程序
  程序:算法+数据结构
  数据:是程序的核心
  数据结构:数据在计算机中的类型和组织方式
  算法:处理数据的方式
  程序编程风格:
  过程式:以指令为中心,数据服务于指令
  对象式:以数据为中心,指令服务于数据
  shell程序:提供了编程能力,解释执行

2、编程执行处理方式

  顺序执行
  循环执行
  选择执行

3、编程语言的基本结构:

  各种系统命令的组合  
  数据存储:变量、数组  
  表达式:a + b  
  语句:if 

4、格式要求:首行shebang机制

  #!/bin/bash  #!/usr/bin/python  #!/usr/bin/perl
 局部变量
 变量赋值:name=koko
 可以使用引用koko
 (1) 可以是直接字串:name=“root"
 (2) 变量引用:name="$USER"
 (3) 命令引用:name= 
 name=$(COMMAND)
 变量引用:${name} 或者 $name
 " " 弱引用,其中的变量引用会被替换为变量值
 ' ' 强引用,其中的变量引用不会被替换为变量值,而保持原字符串
 显示已定义的所有变量:set
 删除变量:unset name

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!