linux 文本相关命令

1.文件阅读命令

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

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

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

cat:查看文件内容。

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命令一般不会修改原文件。

你可能感兴趣的:(Linux)