linux 文本相关命令

1. 文件阅读命令

cat:查看文件内容。

head:显示文件起始的x行。  head -n x file

tail:显示文件倒数的x行。  tail -n x file  
以上命令联合使用,可查看第a行到第b行  head -n b  file | tail -n b-a+1

tailf : 文本文件若有追加,实时显示。等价于 tail -f file,适用于查看实时日志文件。

more:分页(屏)显示文本。回车是逐行, 空格是下一页.
Q: 要查看实时错误日志, 但一次请求记的日志有上千行, 错误栈打印在了前面几行, 该怎么看呢? 
A: tailf errlog.txt | more  即可.

less:与 more 十分相似,但 less 允许往回翻看。使用less命令后按'G', 直接跳到文本末尾.

2.vim 文本编辑器

vim 文件名,即可打开要编辑的文件,若不存在则自动新建。

打开后首先是命令模式命令模式下按键'dd'即可删除所在行。

按‘ i’键进入插入模式

编辑完毕后,按‘esc’ 退回到命令模式,然后":w"保存文件  :wq”保存并退出    “:q”退出vim      “:q!”放弃修改并退出。

文本查找功能:</>字符串 向前查找指定字符串  <?>向后查找指定字符串。

vim -b file  //二进制模式打开文本文件,可用于排查windows格式与linux格式不兼容带来的特殊字符问题。

3.搜索所在行

grep content  file :在文件中搜索带有content内容的行,文件可以是单个文件、目录或符合通配符的多个指定文件。

3.1参数:

-i :ignore 大小写

-v: invert,查找不匹配的行

-r:recursive,递归查找,用于目录下查找。

-C:查看命中行的前后几行。

-A :即after,查看命中行的后面几行。

-E: 使用正则表达式。

--color :命中的子串会有颜色。

3.2例子:

$ grep ‘test’ d*
显示所有以d开头的文件中包含 test的行。
$ grep -ri  -C2 'overhead' /opt/tars/apps/100004272/current/logs/
在指定目录下,不区分大小写地查找含有 'overhead' 的行,并显示其前后2行。

$ grep -E 'abc|abd'  file

在file文件中,查找abc或abd子串所在行,并将子串(非整行)以漂亮的颜色展示。

3.3 grep 用于管道

比如在不断刷新的日志中查看,  `tailf 1.log | grep xxx` .

如果字符串含有空格, 命令为   `tailf 1.log | grep -r abc\ def`

4.筛选指定列

awk '{print $1}' filename//表示筛选出来第一列,从1开始计数。

5.排序

sort file //对每行的内容排序。

sort默认的排序方式是升序,如果想改成降序,就加个-r 就搞定了。

6. 去重

uniq file 

在文件内容有序的情况下去重

7.统计行数

wc file //统计行数。

-l 统计行数

-w 统计单词数

-c 统计字节数

8.替换内容

sed 's/$/\n/g' //在行末追加换行符,适用于看日志时因自动换行导致行与行之间界限不清楚的场景。

sed命令一般不会修改原文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值