5、tr -d '\n\t' < test4 #删除 换行符和制表符
6、echo 'iiiiammmmmmmrrwwhiiiitttee' | tr -s iamrwhite #删除连续字符
7、tr -c '0-9' '*' < test4 #取数字反-替换为*
二十一、od:按不同进制显示文件
od -Ax -tcx /bin/ls|more #使用od命令查看内容
二十二、tee:多重定向
1、ls|tee ls.txt #将标准输出内容覆写到文件中
2、ls|tee -a ls.txt #将标准输出内容追加到文件中
二十三、vi/vim:纯文本编辑器
1、普通模式
(1) G或(shift+g):将光标移动到文件的最后一行
(2) gg或(1G)(1gg):光标移动至文件的第一行
(3) 0:将光标位置移动到当前行开头
(4) $:将光标位置移动到当前行结尾
(5) n<Enter>:将光标从当前位置向下移动n行
(6) ngg或(nG):移动到文件的第n行,可配置:set nu查看
(7) H:光标移动到当前窗口的最上方的那一行
(8) M:光标移动到当前窗口中间的那一行
(9) L:光标移动到当前窗口最下方的那一行
(10) /1.txt :从光标位置开始,向下寻找同名的字符串,n:向下继续搜索 N:向上继续搜索
(11) ?1.txt :从光标位置开始,向上寻找同名的字符串,n:向上继续搜索 N:向下继续搜索
(12) :g/1/s//a/g:将符合1的内容全部替换为a,斜线为分隔符,可以用@、#等替换
(13) :%s/a/1/g:将符合a的内容全部替换为1,斜线为分隔符,可以用@、#等替换
(14) :n1,n2s/1/a/gc:n1、n2为数字,在第n1行和n2行之间寻找1,用a替换
(15) yy:复制光标所在的当前行
(16) nyy:复制光标开始向下的共n行
(17) p/P:p将已复制的数据粘贴到光标的下一行,P则为粘贴到光标的上一行
(18) dd:删除光标所在的当前行
(19) ndd:删除从光标下开始n行
(20) u:回滚前一个执行过的动作
(21) . :重复前一个执行过的动作
(22) x:向后删除字符
(23) X:向前删除字符
(24) d1G:删除当前行至第一行
(25) dG:删除当前行至最后一行
(26) d0:删除当前光标文本至行首
(27) d$:删除当前光标文本至行尾
2、编辑模式
(1) i:在当前光标所在处插入
(2) a:在当前光标所在的下一个字符处插入文字
(3) I:在当前所在行行首第一个非空格字符处开始插入
(4) A:在当前所在行行尾的最后一个字符插入文字
(5) O:在当前行所在行的上一行处插入一行
(6) o:在当前行所在行的下一行处插入一行
(7) ESC :推出编辑模式,回到命令模式
3、命令模式
(1) :wq:退出并报错
(2) :wq!:退出并强制保存
(3) :q!:强制退出,不保存
(4) :n1,n2 w filename:将n1行到n2行的内容保存成filename这个文件
(5) :n1,n2 co n3:将n1行到n2行的内容复制到n3位置下
(6) :n1,n2 m n3:将n1行到n2行的内容剪贴到n3位置下
(7) !command:暂时离开vi到命令行模式下执行command命令显示结果
(8) :set nu:显示行号
(9) :set nonu:取消行号
(10) :vs filename:垂直分屏显示,同时显示当前文件和filename对应的文件的内容
(11) :sp filename:水平分屏显示,同时显示当前文件和filename对应的文件的内容
(12) I+#+ESC:(ctrl+v)可视化模式下一次注释所选的所行,取消注释可用:n1,n2s/#/gc,#替换为其他符号可换成别的操作
(13) Del:(ctrl+v)可视化模式下,一次性删除所选内容
(14) r:(ctrl+v)可视化模式下,一次性替换所选内容