文件过滤及内容编辑处理命令

cat:合并文件或查看文件内容(上下合并)

01、无参数:查看文件内容 cat file.txt

02、无参数:合并多个文件 cat file1.txt file2.txt >newfile.txt

03、无参数:追加内容到文件尾部 cat >>file.txt<<EOF

04、无参数:清空文件内容 cat /dev/null>file.txt

05、-n:从1开始对输出内容显示行号 cat -n file.txt

06、-b:忽略空白显示行号 cat -b file.txt

07、-A:等价于vET,将标示符显示出来 cat -A file.txt

08、ctrl+退格键:删除

tac:反向显示文件内容

01、无参数:逆序输出每行内容 tac file.txt

more:分布显示文件内容(了解)

01、无参数:一页一页显示文件内容 more /etc/services

02、+num:从行号num开始显示 more +88 /etc/services

less:分页显示文件内容(重点,more的增加版)

01、无参数:分页显示文件内容 less /etc/services

02、-N:显示每行的行号 less -N /etc/services

03、方向键上:向上滚动一行

04、方向键下:向下滚动一行

05、page up:向上滚动一页

06、page down:向下滚动一页

07、g:移动到第一行

08、G:移动到最后一行

09、?字符串:向上搜索“字符串”

10、/字符串:向下搜索“字符串”

11、n:向后查找下一个匹配的文本

12、N:向前查找下一个匹配的文本

head:显示文件内容头部

01、无参数:默认显示文件的前10行 head /etc/passwd

02、-n:指定显示的行数 head -n 5 /etc/passwd

tail:显示文件内容尾部

01、无参数:显示最后10行 tail /etc/passwd

02、-n:显示指定的行数 tail -n 5 /etc/passwd

03、-f:实时输出文件变化后追加的数据 tail -f /application/nginx/logs/access.log

tailf:跟踪日志文件(tailf几乎等同于tail -f,不同在于tailf不会去访问磁盘文件,不会更改文件的访问时间)

01、无参数:默认输出日志文件的最后10行 tailf /application/nginx/logs/access.log

02、-n:显示指定的行数 tailf -n 5 /application/nginx/logs/access.log

cut:从文本中提取一段文字并输出

01、-b:以字符为单位进行分割 cut -b 3-5,10 oldboy.txt

02、-n:取消分割多字节字符,与选项-b联用 cut -nb 2-10 oldboy.txt

03、-c:以字符为单位进行分割 cut -c 2-10 oldboy.txt

04、-d:自定义分隔符,默认以tab为分隔符 cut -d : /etc/passwd

05、-f:与选项-d联用,指定显示哪个区域 cut -d : -f 1 /etc/passwd

06、N:第N个字节、字符或字段

07、N-:从第N个字节、字符或字段开始直至行尾

08、N-M:从第N到第M(含More)个字节、字符或字段

09、-M:从第1到第M(含More)个字节、字符或字段

split:分割文件

01、-l:指定分割后文件的最大行数 split -l 10 inittab new_

paste:合并文件(左右合并)

01、无参数:默认合并文件 paste test1 test2

02、-d:指定分隔符,默认是tab paste -d: test1 test2

03、-s:每个文件占用一行 paste -s test1

04、-sd:使第一行=第二行(特殊用法,参数不可换顺序) paste -sd ‘=\n’ test.txt

使第一行=第二行:xarge -n 2 <test.txt|sed ‘s# #=#g’

sort:文本排序

01、无参数:按ASCII码升序排列 sort oldboy.txt

02、-b:忽略开关的空格符 sort -b oldboy.txt

03、-u:去除重复行 sort -u oldboy.txt

04、-n:依照数值大小排序 sort -n oldboy.txt

05、-t:指定分隔符 sort -t “.” oldboy.txt

06、-r:倒序排列

07、-k:指定区间排序 sort -t “.” -k 1.10,1.11 -k 4,4n sort.txt

join:按两个文件的相同字段合并

01、无参数:将排序好的文件合并 sort a.txt>a.txtn sort b.txt>b.txtn join a.txtn b.txtn

02、-a:输出不匹配的行

03、-i:比较字段时忽略大小写

04、-1:以第1个文件的指定字段为基础进行合并

05、-2:以第2个文件的指定字段为基础进行合并

06、:

uniq:却除重复行

01、无参数:去除重复行 uniq oldboy.txt

02、-c:去除重复行并计算每行出现的次数 sort -n oldboy.txt|uniq -c

03、-d:只显示重复行

04、-u:只显示唯一行

wc:统计文件的行数、单词数或字节数

01、无参数:行数、单词数、字节数 wc /etc/inittab

02、-c:统计字节数 wc -c /etc/inittab

03、-w:统计单词数 wc -w /etc/inittab

04、-l:统计行数 wc -l /etc/inittab

05、-L:打印最长行的长度 wc -L /etc/inittab

06、-m:统计字符数 wc -m /etc/inittab

iconv:转换文件的编码格式

01、无参数:

02、-f:从编码A转换 iconv -f gb2312 -t utf-8 GB2312.txt

03、-t:转换成编码A

04、-l:显示系统支持的编码

05、-o:将输出输入到指定文件

dos2unix:将dos格式文件转换成UNIX格式

01、无参数:dos2unix oldboy.win.sh

diff:比较两个文件的不同

01、无参数:默认格式输出 diff test1 test2

02、-y:以并列的方式显示文件的异同之处 diff -y test1 test2

03、-W:在使用-y时,指定显示的宽度 diff -y -W 30 test1 test2

04、-c:使用上下文格式输出 diff -c test1 test2

05、-u:使用统一格式输出 diff -u test1 test2

vimdiff:可视化比较工具

01、无参数:调用vim打开文件,颜色区分 vimdiff a.txt b.txt

rev:反向输出文件的内容

01、无参数:反向输出文件的内容,到少要有一个空格 echo{1…10}}rev

tr:替换和删除字符

01、无参数:前面的字符替换成后面的字符,一一对应 tr ‘abc’ ‘xyz’ <oldboy.txt

02、-d:删除指定的每个字符 tr -d ‘oldboy’

03、-s:保留连续字符的第一个字符,删除其他字符 echo ‘ooollldddoyyy’|tr -s oldboy

04、-c:使用第一个字符串(setl)的补集,取反 tr -c ‘0-9’ ‘*’<oldboy.txt

od:按不同进制显示文件

01、无参数:

02、-A:指定进制 o八进制(默认)d十进制 x十六进制 n不打印位移值

03、-t:指定数据格式 a命名字符 cASCII字符 d有符号的十进制 f浮点数 o八进制(默认) u无符号十进制 x十六进制

04、file /bin/ls od -Ax -tcx /bin/ls|less

tee:多重定向

01、无参数:标准输出的同时把内容写入到文件 ls|tee ls.txt

02、-a:向文件追加内容 ls|tee -a ls.txt

vi/vim:纯文本编辑器

普通模式

01、gg:文件首行

02、G:文件末行

03、0:光标移动到当前行开关

04、$:光标移动到当前行末尾

05、数字n:光标向下移动n行

06、/XXX:向下搜索XXX字符串

07、?XXX:向上搜索XXX字符串

08、n:向上重复前一个搜索动作

09、N:向下重复前一个搜索动作

10、%s#A#Bg:把A全部替换为B

11、yy:复制当前行

12、nyy:从含光标位置向下复制n行

13、p:粘贴到光标的下一行

14、P:粘贴到光标的上一行

15、dd:删除光标所在行

16、ndd:从含光标位置向下删除n行

17、u:恢复前一个执行操作,撤销

18、.:重复前一个执行的动作

19、x:向后删除字符

20、X:向前删除字符

21、d1G:删除当前行到第一行

22、dG:删除当前行到最后一行

23、d0:删除当前光标文本到行首

24、d$:删除当前光标文本到行尾

编辑模式

01、i:当前光标所在处插入文字

02、a:光标所在的下一字符处插入文字

03、I:当前行行首处插入文字

04、A:当前行行尾处插入文字

05、O:所在行的上一行插入新行

06、o:所在行的下一行插入新行

07、esc:退出编辑模式

块模式

01、Ctrl+v:进入可视化模式

02、n1,n2s/#//gc:取消多行注释

03、del:一次性删除所选内容

04、r:一次性替换所选内容

命令模式

01、wq:保存并退出

02、wq!:强制保存并退出

03、q!:强制退出,不保存

04、n1,n2 w filename:将n1行到n2行的内容存在成filename这个文件

05、n1,n2 co n3:将n1行到n2行的内容复制到n3的位置

06、n1,n2 m n3:将n1行到n2行的内容剪切到n3的位置

07、!command:暂时离开vi到命令行模式下执行command的显示结果,例如 !ls/etc

08、set nu:显示行号

09、set nonu:取消行号

10、vs filename:垂直分屏显示当前文件和filename文件内容

11、sp filename:水平分屏显示当前文件和filename文件内容

猜你喜欢

转载自blog.csdn.net/Chen118222/article/details/131228617