数组:
定义:在集合当中指定多个元素,元素的类型:整数,字符串,可以是浮点。
作用:一次性的定义多个元素,可以为变量赋值提供便利。
数组的定义方法:
数组名= (a b c d) 数组名不能重复
数组内部元素编号从0开始
数组遍历 echo ${test1[*]}
数组的长度指的是数组内包含了几个元素
echo ${#test1[*]}
数组切片
echo ${test1[*]:0:2} 0表示起始位置 2表示从起始位置0开始(包括0) 移动两个
数组替换
test1[1]=100 永久替换
删除数组 unset 数组名
删除数组中某个元素 unset ${test1[1]}
数组中添加元素 test1+=(5 6) 在末尾添加
冒泡排序*
从小到大排列。
思路:对比两个相邻的元素,以从小到大为例。满足交换条件的元素,小的往左移,大的往右移动。数组下标对应的元素的值发生变化
正则表达式前瞻
正则表达式匹配的是文本内容
linux的文本三剑客:都是针对文本内容 都是按照行进行匹配。
grep 过滤文本内容
sed 对文本内容 增删改查
awk 按行取列
grep
grep的作用就是使用正则表达式来匹配文本内容。
选项:
-m 匹配几次后停止 结果是几行
-v 取反
-n 显示匹配的行号
-c 只统计匹配的行数
-o 仅显示匹配的结果
-q 不显示结果
-A after +数字 表示匹配当前的行和后几行
-B before +数字 匹配当前行和前几行
-C +数字 当前行和前后各几行
-e 或者 后面加多个条件
-E 匹配扩展正则表达式
-f 匹配两个文件相同的内容 以第一个文件为准
-r 递归目录 目录下的文件内容 不包含软连接
-R 递归目录 目录下的文件内容 包含软连接
排序:
sort
以行为单位 对文件的内容进行排序
格式
1.sort +选项 +参数
2.cat file | sort 选项
-f 忽略大小写 默认把大写排在前面
-b 忽略每行之前的空格
-n 按照数字进行排序(行号)
-r反向排序 (行号第一位位从大到小 ) 使用-rn 按照行号实际数字排序
-u 相同的数据仅显示一行
-o 排序后的结果转存到指定文件
uniq 只有连续重复的行才会去除 只显示一行
-c 统计连续重复的行的次数 并合并连续重复的行
-u 显示仅出现一次的行 包括不连续重复的行
-d 仅显示连续重复的行 不包括只出现一次的行