文件描述符、正则表达式

Shell_3_文件描述符

老师笔记

在 shell 中执行命令时,每个进程都会和三个打开的文件相联系,并使用文件描述符来引用这些文件。
由于文件描述符不容易记忆, shell 同时也给出了相应的文件名


image.png

例如:

2>&1表示把2 标准错误输出 重新输出到文件描述符1(即标准正确输出)中

command<&n把文件描述符 n作为标准输入

command >&n  把标准输出重定向到文件描述符中

exec n<&-   关闭文件描述符 n

Shell_4_正则表达式RE

老师笔记

特殊符号

image

重点记忆

[:alnum] 代表所以的大小写英文字符和数字 0-9 A—Z a-z
[:alpha:] 代表任意英文大小写字符  A-Z a-z
[:lower:] 代表小写字符       a-z
[:upper:] 代表大写字符        A-Z
[:digit:] 代表数字         0 - 9

RE字符

image
image

进阶  grep

grep -A   n  把匹配成功行之后的n行也同时列出
grep -B   n  把匹配成功行之前的n行也同时列出
grep -C   n  把匹配成功 前后 的n行也同时列出

范例:

显示/etc/passwd含有 mail的行及其前2行和后 3 行

[root@e9818e4ea8b3 ~]# grep mail -B 2 -A3 /etc/passwd
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

只显示匹配到的字符

grep -o 'nologin' /etc/passwd

加上统计数量

grep -o -c 'nologin' /etc/passwd

只要文件名

grep -l 'nologin' /etc/passwd

递归查找,就是在一个目录下查找

grep  -r  'nologin' /etc/

搜索 test 或 taste

grep -n 't[ae]st' file1

搜索 oo 但其前面不要有g

grep -n '[^g]oo'  file1
正则表达式规则可以有很多衍生,多练习慢慢领会

扩展正则

image

支持扩展正则的工具

  • grep -e

  • egrep

  • sed

  • awk

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容