一、文件管理-高级
1.文件处理三剑客
1.1sed
sed 流式编辑器,主要擅长对文件的编辑操作,实现定制好编辑文件的指令,然后让sed自动完成对文件的整体编辑
一次只处理一行,对内存无压力--->>>用于处理大文件
命令: sed
# 参数:
-r 支持扩展正则元字符
-i 输出内容到屏幕中
-i 取消默认输出
# 行定位
1 定位第一行,1,3代表从第一行到第三行
不屑定位代表定位所有行
# 正则表达式定位
/rook/ 包含rock的行 /^rock/ 包含rock开头的行
/rock$/以rock结尾的行
# 数字+正则表达式定位
# 参数:
p 打印 '1,9p'代表打印1-8行
d 删除 '2d' 删除第二行
c 替换 '1c xxx' 第一行
1.2awk
命令: awk
# 参数:
-F 指定分隔符 -F:
NR 行号
$ 指定列
NF 列尾
awk -F: [执行命令] [文件路径]
例如:
awk -F: 'NR>=1 && NR<=3{print $1,$3,$NF}' /etc/passwd
1.3.grep
grep 擅长过滤内容
# 参数:
-i 不区分大小写
-n 输出显示带上行号
-l 匹配成功,打印文件名,失败不打印
-r 递归(个人理解不加和grep也一样)
格式: grep [参数] '关键数据' [文件路径]
示例:
grep -i -n 'root' /etc/passwd
grep -i -n '^rock$' /etc/passwd
^ 代表首部包含,$ 代表 尾部包含
二、文件查找