一、cat命令:
参数:cat filename,
说明:一次显示整个文件。
示例:
参数:cat > filename
说明:从键盘创建一个文,不能编辑已有文件.只能创建新文件
示例:
参数:$cat file1 file2 > file
说明:将几个文件合并为一个文件
示例:
参数:
-n 由 1 开始对所有输出的行数编号
-b 和 -n 相似,只不过对于空白行不编号
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v
举例:
参数:cat -n file1 > file2
说明:把 file1 的文件内容加上行号后输入 file2 这个文件里
示例:
参数:cat -b textfile1 textfile2 >> textfile3
说明:把 textfile1 和 textfile2 的文件内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
示例:
参数:cat /dev/null > /etc/test.txt
说明:把test.txt文件扔进垃圾箱,赋空值test.txt
示例:
注:>意思是创建,>>是追加。
二、Tac应用
tac 命令
说明:tac 是 cat 功能相反, cat 是由第一行到最后一行连续显示, 而 tac 则是由最后一行到第一行反向显示出来
示例:
混合应用
- tail web.2016-06-06.log -n 10 -f
查看底部即最新10条文本记录,并实时刷新
组合场景1:按行号查看—过滤出关键字附近的文本
- cat -n xxx.log |grep "ERROE" 得到关键文本的行号
2)cat -n test.log |tail -n +30|head -n 20 选择关键字所在的中间一行. 然后查看这个关键字前10行和后10行的文本:
tail -n +30表示查询30行之后的文本
head -n 20 则表示在前面的查询结果里再查前20条记录
组合场景2:根据日期查询文本
sed -n '/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p' test.log
特别说明:上面的两个日期必须是文本中打印出来的文本,否则无效;
先 grep '2022-05-28 10:52:05' xxx.log 来确定文本中是否有该 时间点
组合场景3:文本内容特别多,打印在屏幕上不方便查看
- 使用more和less命令,
如: cat -n test.log |grep "debug" |more 这样就分页打印了,通过点击空格键翻页
(2)使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析
如:cat -n test.log |grep "debug" >debug.txt