Mainly used to record Java, DBMS, HDFS... related learning notes
ed 介绍
ed 编辑器是 unix/linux 操作系统下最简单、最典型的文本编辑器
ed 是以行为单位进行数据处理的,所以不会占用很大的内存
常用命令
ed 命令格式为: [address [,address]]command[parameters] 地址(address,[,address]) 是用来指定命令(command)的作用范围的。如果没给出地址,则为默认地址。ed 读入文件后,当前行默认为文件最后一行,如果文件为空,则当前行号设置为 0。
命令(command) 会根据指定的地址(或默认地址)对编辑文本进行操作。当输入一非法命令,ed 将会显示一问号 ‘?’ 来提示输入命令错误。
# 打开文件
> ed filename
# 什么都不按 报错 ?
#打印当前行
p
#退出此次编辑
q
#查看当前是第几行
n
#查看第n行,n为数字
np
#查看n-m行
n,mp
#正则表达式使用 /正则表达式/
/regular/p
#其他符号的含义
. 当前行
$ 文本最后一行
n 文本第 n 行( n 为数字,下同;m 亦是 )
-n 从文本当前行数起,向前第 n 行
+n 从文本当前行数起,向后第 n 行
- 相当于 -1 行地址
+ 相当于 +1 行地址
m,n 文本的第 m 到 n 行
, 文本的所有行
; 文本当前行到最后一行
/reg/ 从文本当前行数起,下一个匹配 reg 的行
?reg? 从文本当前行数起,上一个匹配 reg 的行
sed 介绍
sed 命令是常用处理文本文件的命令;
默认情况下,sed 是面向字符流流的,文本文件所有的字符都会被处理;
sed 不改变源文件,产生的是标准输出流,要保存结果需要重定向到新文件,不然在页面展示
sed 遍历文件,每次一行,按照指定脚本执行
常用的两个参数:
-n或--quiet或--silent 仅显示script处理后的结果。
-f<script文件>或--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
-e<script>或--expression=<script> 以选项中指定的script来处理输入的文本文件。
常用命令
# 查看文件的第m到n行
sed -n 'm,np' filenmae
# 查看 0点到1点之间的数据 从前面的正则表达式开始,到第一次匹配到第二个正则表达式结束
sed -f '/2019-01-10 00:00:00/,/2019-01-10 02:00:00/p' filename
#查找关键字所在行,然后打印
cat -n filename|grep key
#将处理结果落库 .当前行 $最后一行 n指定行
sed -f '/2019-01-10 00:00:00/,/2019-01-10 02:00:00/p' filename > a.txt
#全局查找 关键字 key
sed -n '/key/p' filename
注意事项
sed 命令后面必须要加 -n 不然全部打印