文本处理、基本扩展正则、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命令:一页一页的查看文件
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:词首或词尾锚定用法
示列
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
原文:https://www.cnblogs.com/seeet/p/11336671.html