~ grep "a*" test_rule.txt # 匹配全部内容,包括空白行linux
~ grep "aa*" test_rule.txt # 匹配至少包含两个连续 a 的字符串正则表达式
~ grep "aaa*" test_rule.txt # 匹配最少包含两个连续a的字符串shell
~ grep "aaaa*" test_rule.txt # 匹配最少包含四个个连续a的字符串编程
~ grep "s..d" test_rule.txt # “ s..d ”会匹配在 s 和 d 这两个字母之间必定有两个字符的单词编辑器
~ grep "s.*d" test_rule.txt # 匹配在 s 和 d 字母之间有任意字符spa
~ grep ".*" test_rule.txt # 匹配全部内容3d
~ grep "^M" test_rule.txt # 匹配以大写“ M ”开头的行blog
~ grep "n$" test_rule.txt # 匹配以小写“ n ”结尾的行排序
~ grep -n "^$" test_rule.txt # 会匹配空白行字符串
~ grep " s[ao]id " test_rule.txt # 匹配 s 和 i 字母中,要不是 a 、要不是
~ grep "[0-9]" test_rule.txt # 匹配任意一个数字
~ grep "[a-z]" test_rule.txt # 匹配用小写字母开头的行
~ grep "^[^a-z]" test_rule.txt # 匹配不用小写字母开头的行
~ grep "^[^a-zA-Z]" test_rule.txt # 匹配不用字母开头的行
~ grep "\.$" test_rule.txt # 匹配使用“ . ”结尾的行
~ grep "a\{3\}" test_rule.txt # 匹配 a 字母连续出现三次的字符串
~ grep "[0-9]\{3\}" test_rule.txt # 匹配包含连续的三个数字的字符串
~ grep "^[0-9]\{3,\}[a-z]" test_rule.txt # 匹配最少用连续三个数字开头的行
~ grep "sa\{1,3\}i" test_rule.txt # 匹配在字母 s 和字母 i 之间有最少一个 a ,最多三a
[options]
-f 行号: 提取第几列
-d 分隔符: 按照指定分隔符分割列
4)example局限性(没法匹配空格)
printf ‘ 输出类型 输出格式 ’ 输出内容
print : print 会在每一个输入以后自动加入一个换行符(linux 默认没有 print 命令)
printf :是标准格式输出命令,并不会手动加入换行符,若是须要换行,须要手工加入换行符
example:
条件:通常使用关系表达式做为条件
x>=10 大于等于
x > 10 判断变量 x是否大于10
x<=10 小于等于
动做
格式化输出
流程控制语句
1)、简介:
sed 是一种几乎包括在全部 UNIX 平台 (包括 linux)的轻量级流编辑器。
sed 主要是用来将数据进行选取,替换,删除,新增的命令。
2)、用法:
sed【options】【actions】文件名
【options】
- n :通常 sed 命令会把全部数据都输出到屏幕,若是加入此选择,则只会吧通过 sed 命令处理的行输出到屏幕
- e :容许对输入数据应用多条 sed 命令编辑
- i : 用 sed 的修改结果直接修改读取数据的文件,而不是由屏幕输出
【actions】
a \ :追加,在当前行后添加一行或多行。
c \ :行替换,用 c 后面的字符串替换原数据行。
i \ :插入,在当前行插入一行或多行。
d:删除,删除制定的行。
p:打印,输出指定的行。
s:字符串替换,用一个字符串替换另外一个字符串。“ s/old/new/g ”
sort [选项] 文件名
sort --help
wc --help
写一个脚本 判断一个文件是否有读写执行权限 要能判断出是 用户 组 和其余人