学习整理(常见的 shell 通配符 正则)符号作用

注释

  1. 输出重定向

\ 转义字符
. 人一单字符
/ 根目录(在中间使用表示路径)
~ 用户根目录(用户登录时所在的目录)
. 当前目录
.. 上级目录

  1. 输出追加重定向

< 输入重定向
<< 追加输入重定向
~ 当前用户家目录
`` 一些符号整理 - 图1%09%E5%BC%95%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A2%AB%E6%89%A7%E8%A1%8C%E5%90%8E%E7%9A%84%E7%BB%93%E6%9E%9C%0A.%20%20%09%E4%BB%BB%E6%84%8F%E9%95%BF%E5%BA%A6%E5%AD%97%E7%AC%A6%0A#card=math&code=%28%29%09%E5%BC%95%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A2%AB%E6%89%A7%E8%A1%8C%E5%90%8E%E7%9A%84%E7%BB%93%E6%9E%9C%0A.%2A%20%20%09%E4%BB%BB%E6%84%8F%E9%95%BF%E5%BA%A6%E5%AD%97%E7%AC%A6%0A) 以**结尾(正则)变量替换的代表符号。
^ 以*开头(正则)
^$ 表示空行

    1. 匹配任何字符,、文本、空;(0个或多个)

^. 以任意多个字符串开头,.有多少算多少,贪婪模式

? 任何一个字符,(a?b:之间只能有一个字符)
& 让程序或脚本切换到后台执行
&& 并且 同时成立
[abc] 表示这个范围内的任何一个字符(正则,通配符)
{1..100}产生一个序列,以点分割且,不能有空格(通配符)
[^abc] [!abc]匹配指定范围外的任意一个字符
() 分组将一个或多个字符绑在一起当做一个整体
(str1,str2,…) 匹配str1或str2(或等)其中的一个字符串
‘’ 单引号转移,比较傻瓜其内部所有shell命令、通配符。全部不会被使用
“” 双引号转移,允许出现特定的命令
` 反单引号转移,引号内都被视为命令执行<br /> 正则元字符:<br /> [:alnum:] 字母和数字<br /> [:alpha:] 代表任何英文大小写字符,亦即 A-Z, a-z<br /> [:lower:] 小写字母<br /> [:upper:] 大写字母<br /> [:blank:] 水平空白字符(空格和制表符)<br /> [:space:] 所有水平和垂直的空白字符(比[:blank:]包含的范围广)<br /> [:cntrl:] 不可打印的控制字符(退格、删除、警铃...)<br /> [:digit:] 十进制数字<br /> [:graph:] 可打印的非空白字符<br /> [:print:] 可打印字符<br /> [:punct:] 标点符号<br /> [:xdigit:] 十六进制数字<br /> 文本处理三剑客之 grep<br /> grep:<br /> 作用:文本搜索工具,根据用户指定的“模式”对目标文本逐行进行<br /> 匹配检查;打印匹配到的行<br /> 模式:由正则表达式字符及文本字符所编写的过滤条件<br /> grep [OPTIONS] PATTERN [FILE...]<br /> grep root /etc/passwd<br /> grep "![](https://g.yuque.com/gr/latex?USER%22%20%2Fetc%2Fpasswd%0Agrep%20'#card=math&code=USER%22%20%2Fetc%2Fpasswd%0Agrep%20%27)USER' /etc/passwd<br /> grepwhoami` /etc/passwd
grep命令选项
—color=auto: 对匹配到的文本着色显示
-m # 匹配#次后停止
-v 显示不被pattern匹配到的行
-i 忽略字符大小写
-n 显示匹配的行号
-c 统计匹配的行数
-o 仅显示匹配到的字符串
-q 静默模式,不输出任何信息
-A # after, 后#行
-B # before, 前#行
-C # context, 前后各#行
-e 实现多个选项间的逻辑or关系
grep –e ‘cat ’ -e ‘dog’ file
-w 匹配整个单词
-E 使用ERE
-F 相当于fgrep,不支持正则表达式
-f file 根据模式文件处理
文本处理三剑客之 sed
一、sed介绍
sed是一种流编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,
称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,
把缓冲区的内容送往屏幕。然后读入下行,执行下一个循环。如果没有使诸如‘D’ 的特殊命令,
那会在两个循环之间清空模式空间,但不会清空保留空间。这样不断重复,直到文件末尾。
文件内容并没有改变,除非你使用重定向存储输出。
功能:主要用来自动编辑一个或多个文件,简化对文件的反复操作,编写转换程序等

二、sed用法
sed [option]… ‘script’ inputfile
1、常用命令选项
-n 不输出模式空间内容到屏幕,即不自动打印
-e 多点编辑
-f /PATH/SCRIPT_FILE: 从指定文件中读取编辑脚本
-r 支持使用扩展正则表达式
-i.bak 备份文件并原处编辑
2、地址命令
script 地址命令
对指定行号处理,默不指定,则处理所有行
单地址:

: 指定的行,$:最后一行

/pattern/:被此处模式所能够匹配到的每一行
地址范围:

,#

,+#

/pat1/,/pat2/
`#,/pat1/
~:步进
1~2 奇数行
2~2 偶数行
三、编辑命令
d 删除模式空间匹配的行,并立即启用下一轮循环
p 打印当前模式空间内容,追加到默认输出之后
a []text1 在指定行后面追加文本,支持使用\n实现多行追加
i []text 在行前面插入文本
c []text 替换行为单行或多行文本
w /path/somefile 保存模式匹配的行至指定文件
r /path/somefile 读取指定文件的文本至模式空间中匹配到的行后
= 为模式空间中的行打印行号
! 模式空间中匹配行取反处理
s///:查找替换,支持使用其它分隔符,s@@@,s###
替换标记:
g 行内全局替换
p 显示替换成功的行
w /PATH/TO/SOMEFILE 将替换成功的行保存至文件中