s:sed d 替换功能,改
s:替换字符串
格式是:sed -n 's/需要替换的原内容/替换后的内容/(ps:数字是替换每行中的第几个,g代表是全内容替换)p' 替换的文件地址
例如:

c:整行替换
y:字符替换,替换前后的字符串长度必须相同的
l&:l+&转换小写的特殊符号,前面要加\转义符
例如:

u&:u+&转换大写的特殊符号,前面要加\转义符
例如:

*很好用很重要c:整行替换
例如:

*很好用很重要:单字符替换:
y只是对单字符替换,前后的长度必须一一对应,不是整体替换
例如:


增:
a:匹配内容的下一行添加。它可以区分大小写,可以模糊匹配,可以精确匹配
例如:

i:匹配内容的上一行添加。它可以区分大小写,可以模糊匹配,可以精确匹配

$r:行后追加,也就是读取行后的其他内容,然后添加。

r:匹配内容的之后添加。它可以区分大小写,可以模糊匹配,可以精确匹配
实验:将three这行读取另外一个文件,然后插入到three行下

$a:是在文本的最后一行之后添加
例如:

$i:是在文本的最后一行之上添加
例如:

sed如何对字符串的位置进行替换:
例如:将陆墨宁3与陆墨宁1替换

实验:echo ky01abc变成ky01cab

实验:echo 陆墨宁很棒 完全调换成 棒很宁墨陆

实验:echo 很棒陆墨宁 只保留 很棒


面试笔试题:将文本内容的版本号匹配


-f:第一个文件当中的命令对第二个文件的内容进行处理
例如:

面试笔试题:将日志文件中截取一段日志


总结sed:流编辑器
sed -r :扩展正则表达式
sed -i: 一定要备份
sed的最大功能是增和改,但是增删改查都可以,对文本内容按行进行增删改查
awk:是一个强大的文本编辑工具,逐行读取文件内容,然后输出结果
它最强大的功能是,awk本身是一个开发工具,内置有代码,用法和Java类似
我们所需要的功能也就是:
按行取列:和cut类似,cut的默认分隔符是一个tab键
awk的默认分割符是空格或者tab键,但是多个空格,多个tab键,他会自动压缩成一个
awk可以在免交互的情况下,实现复杂的文本内容操作
awk的组成方式:
awk 'pattern action' file
操作符 怎么干 处理对象
awk的选项有:
-F:指定分隔符,默认是空格可以不加
例如:
-v:变量赋值
awk的命令格式:
awk '模式或条件{处理动作}'
awk的默认处理动作就是打印
内置变量有:
1、$0:打印所有内容
2、$n:处理行的第几列
3、NR:处理行的行号 NR = >
4、NF:处理行的字段个数,$NF表示最后一个字段
默认打印:

默认是1:0什么都不打印

如何打印行号:

如何打印行号与内容:

如何指定第三行打印输出:

如何打印第三行到第五行:有两种方式


如何打印第三行和第五行:

如何打印偶数行:

如何打印奇数行:

如何幂运算:有两种方式:PS:其他运算在shell脚本第一章

如何进行文本过滤匹配打印:
这是以root开头打印:

这是范围匹配:

这是以bash为结尾匹配:

用begin模式:‘begin初始条件;对初始化条件的操作;对结果的输出动作'

这是将/etc/passwd内容输出第四列内容:这是按行取列,必须要懂

用begin模式,来指定打印
