重定向
不使用系统的标准输入设备、标准输出设备或标准错误设备,而进行重新指定
输入重定向0:不使用标准输入作为数据的输入,而是使用其他设备或文件获得输入数据
>>添加到原先内容的末尾
输出重定向1:不使用标准输出作为数据的输出,而是使用其他设备或文件作为数据输出 <<
错误重定向2:不使用标准错误作为错误的输出,而是使用其他设备或文件作为错误输出 
与重定向结合的常用命令tr
输入重定向
tr:用于转换或删除文件中的字符
tr [-cdst] [—help][—version][第一字符集][第二字符集]
tr [option][准备要替换的字符即SET1][要替换成的字符即SET2]
-d:删除指令字符
-s:缩减连续重复的字符成指定的单个字符
-t:削减set1指定范围,使之与set2设定长度相等
sort:以行为单位对文件进行排序
sort -k [关键字字段序号][要排序的文本文件]
-r:逆向排序
-f:忽略字母大小写
-n:根据字符串的数智进行排序
-u:对相同的行只输出一行
-t c:选项使用c作为列的间隔符
-b:忽略前导的空格
-i:只考虑打印字符
-k N:以第n列进行排序
cut:用于显示每行从开头算起num1到num2的文字
如果不指定file参数,cut命令将读取标准输入,必须指定-b、-c、-f标志之一
-b:以字符为单位进行分割,默认字节位置忽略多字节字符边界,除非指定-n
-c:以字符为单位进行分割
-d:自定义分隔符,默认为制表符
-f:与-d一起用,指定显示哪个区域
-n:取消分割多字节字符,仅与-b一起使用
管道
特殊的输入输出重定向
一条的输出作为另一条的输入
管道操作符 |
grep强大的文本查找命令,可用正则表达式来匹配
grep [options] pattern [file]
-c:只显示匹配行的次数
-i:搜索时不区分大小写
-n:匹配输出行的行号
-v:输出不匹配的行
-r:对目录(子目录)的所有文件递归的进行
-l:列出匹配pattern的文件名
—color=auto:对匹配内容高亮显示
-A NUM:同时输出匹配的前NUM行
-B num:后num行
-C num:前后num行
例子:
ls -al /etc |grep ‘ssh’查找ls命令输出中带有ssh字样的行
wc命令:统计指定文本文件的行数、字数、字符数
wc -l file:统计行数
wc -w file:统计字数
wc -c file:统计字节数
正则表达式:使用某种模式去匹配一类字符串的一个公式
| 元字符 | 含义 |
|---|---|
| ^ | 匹配首字符 |
| $ | 匹配尾字符 |
| . | 匹配任何一个字符 |
| ? | 匹配任意一个可选字符 |
| * | 匹配零次或多次重复 |
| + | 匹配一次或多次重复 |
| […] | 匹配任意一个字符 |
| () | 对正则表达式分组 |
| | | 或 |
| \ | 转义字符 |
括号内的!!!
| 元字符 | 含义 |
|---|---|
| ^ | 非 |
| - | 指明字符范围 |
| \ | 转义字符 |
