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模式,来指定打印