sed 删除 :
“d”:操作符
除了1-4其他的都删除
根据正则表达式进行删除:
过滤非空行:
sed 修改和替换:
操作符:
-s 替换字符串
-c
-y
替换的格式,如果全量替换p前面加个g,替换每行的第二个字符就在p前面加个2
把root开头的,替换成#
sed -n '/^root/ s/^/#/p' /etc/passwd
特殊符号:l& 大写转换成小写的特殊符号前面要加转义符(\)使用
u& 小写转换成大写的特殊符号前面要加转义符(\)使用(只有首字母)
全部换成大写:
整行替换:
one 是整行的内容,也可以是个开头 c是格式 22是替换的内容
单字符替换:y
o对应1 n对应2 长度要保持一致
sed命令的新增命令:
a 在匹配行的下一行添加内容
i 在匹配行的上一行添加内容
r 可以从其他文件读取内容,然后在匹配行的行后添加
a和i的格式:都要写在中间
$a 可以直接在文本的最后一行添加内容
$i 在倒数第二行添加内容
sed当中字符串和字符
默认排序123 可以改变排序来进行筛选内容:
也可以用.来表示单个字符
一个文件改文件夹,sed -f
看一段时间到一段时间的日志:
安装包格式:
ant-1.9.7.jar
ant-launcher-1.9.7.jar
antlr-2.7.7.jar
看安装包的版本号:用sed命令
cat 123.txt | sed -r 's/(.*)-(.*)(\.jar)/\2/'
awk
awk是文本三剑客之一,功能最强大的文本工具
逐行读取输入的文本内容,默认以空格和TAB键作为分隔符,但是多个空格或者tab键的空格,会自动压缩成一个,按照指定的模式或者条件执行编辑命令
也是逐行匹配,对符合对象的才会进行逐行格式化输出或者过滤
可以在免交互的情况下实现复杂的文本操作,完成自动化的配置
awk 操作符 action file
像干啥 怎么干 处理对象
awk ‘BEGIN{x=1};{x++};END{处理动作}’ 文件名
awk’操作符{处理动作}’文件名
{}外部表示定义条件{}内指定操作
BEGIN对条件做初始化操作
awk的常用选项:
-F 指定分隔符,如果是空格,tab键,可以不加
-v 变量赋值 不能从外部获取变量,只能内部赋值
第三行和第五行 中间的,换成;
awk 按行取列:
取第二列,第三列
awk ‘{print $2,$3}’ 文件名
取第二列和最后一列
awk ‘{print $2,$NF}’ 文件名
$NF 表示最后一列
print $0 就是所有,可以不加
awk的精确筛选:
$n (><==) 进行数值对比
$n~”字符串” 代表这个字段中包含某个字符串
$n!~”字符串” 代表这个字段中不包含某个字符串
$n==”字符串” 代表这个字段和字符串相同
$n!=”字符串” 代表这个字段不和这个字符串相同
$NF 最后一个字段
~ 是包含的意思
awk 的三元表达式 格式和Java一样
awk’{条件表达式1? A表达式或者值:B表达式或者值}’文件名
以root开头,以bash结尾
指定内容过滤
-v给变量赋值 awk从外部给内部赋值 格式:
内置变量:
NR 需要处理的行号
OFS 输出内容的列分隔符
NF 最后一个字段
$n 内置变量
BEGIN模式
对变量初始化
对行来进行操作,原本四行,加一就是5行
数组遍历