1.脚本中常用的语言
1.输入多行内容
例如:
echo << eof
> 1. 创建虚拟机
> 2. 查看虚拟机
> 3. 销毁虚拟机
> 4. 查看系统资源
> eof
2.重定向
1.输入重定向
“>” 覆盖
仅能重定向标准输出
例如:
[root@localhost ~]# ls -ldh /etc/ > /tmp/file01
[root@localhost ~]# cat /tmp/file01
drwxr-xr-x. 76 root root 8.0K Sep 17 09:02 /etc/
“>” 追加
仅能重定向标准输出
[root@localhost ~]# ls -ldh /etc/ >> /tmp/file01
[root@localhost ~]#
[root@localhost ~]# cat /tmp/file01
drwxr-xr-x 20 root root 3.2K Sep 17 09:02 /dev/
drwxr-xr-x. 76 root root 8.0K Sep 17 09:02 /etc/
/dev/null 黑洞文件
“2>”
仅能重定向错误信息
“&>”
重定向所有信息
2.输出重定向
使用文件的内容作为键盘输入使用
2.正则表达式
1.grep
常用参数
-A 匹配行的后多少行
-B 匹配行的前多少行
-C 前后行
-c 统计匹配行
-i 忽略大小写匹配
-E 扩展正则
-n 显示匹配行行号
-x 显示完全匹配的行
-v 取反
. 任意单个字符
- 任意长度前导字符
.* 任意字符的任意长度
^ 以什么开头
$ 以什么结尾
[] 表示或关系
[-] 表示区间 0-9 a-z
[^] ^位于第一个位置 取反
2.sed
d 删除整行
p 显示整行
-n: 取消默认显示模式空间的内容
a \内容 追加内容
i \内容 插入内容
c \内容 整行替换
= 显示行号/统计行数
n 读取下一行
s/旧内容/新内容/[修饰符]
文件查找替换
旧内容支持正则表达式
-n
取消显示模式空间的内容
-i
修改原文件
-e 同时做多个修改
-f 操作文件
-r 支持扩展正则表达式
–follow-symlinks 软链接文件
3.awk
- 设置字符的宽度
%10s - 设置左对齐
%-10s - 默认没有换行,如果需要换行,手动添加换行符\n
1、FS
相当于-F选项的作用
保存行分割符,默认空白
2、OFS
指定awk显示多段内容时,多段内容间的分隔符
默认空白字符
3、NR
记录行号
处理多个文件时,所有文件的行号是连续记录的
4、FNR
记录行号
处理多个文件时,所有文件的行号是独立记录的
5、NF
记录awk分割行后的段数
6、FILENAME
保存awk正在处理的文件名