今天,来介绍几个常用文本处理命令和vim文本编辑器
day3--常用文本处理命令和vim文本编辑器
col,用于过滤控制字符,-b过滤掉所有控制字符,这个命令并不常用,但可以使用man 命令名| col -b >help.txt
导出一份帮助文档。|是管道符,用于把前面的执行结果经由一个“管道”送给后方
man ls | col -b > ls_help #把ls命令的帮助文档导出
cut命令从每一行剪切掉字节,并写至标准输出
cut -b #以字节为单位进行分割
cut -b "1,3" #输出第一个和第三个字节
cut -c #以字符为单位进行分割
cut -d #定义分隔符,需要和-f一起使用
cut -f #配合-d使用,输出字段
cut -output-delimiter='分隔符' #将分隔符替换为自己的分隔符
wc统计命令
wc -c #显示字节数
wc -l #显示行号
wc -w #显示字数
练习:使用管道符 wc统计命令和cut命令来统计出文件的字符数,并打印到屏幕
echo命令,输出
echo -n #不换行输出
head -n,查看文件前n行,默认10行
tail -n,查看文件后n行,默认10行
练习:使用head和tail配合管道符,输出/var/log/message倒数10到15行内容
cat 查看文件信息
more 以一页一页的形式显示出文件信息,空格是下一页,b键会往回一页显示
less,使用less可以随意浏览文件
sort排序
sort -b #忽略每行开始的空格字符
sort -c #检查文件是否按照顺序排序
sort -f #将小写字母视为大写字母
sort -o 输出文件 #将结果存入指定文件
sort -r #以相反顺序排序
sort -n #按照数值大小排序
sort -t分隔符 #指定分隔符
示例:
uniq 去除重复的行
示例:(前面的数字表示一共出现了几次)
当重复的行不相邻时,uniq是不起作用的,于是需要配合sort来使用去除重复的行
练习:使用uniq,sort来去除不相邻重复的行
tr命令对标准输入的字符进行替换
echo "hello,fissure" | tr 'a-z' 'A-Z' #将小写转化为大写
vim文本编辑器
vim是一个方便的编辑器,对于程序开发,脚本的编写来说是一把利器。
vim分为三种模式:命令模式,输入模式,底边模式
最小安装是没有vim这个包的,我们需要安装
sudo apt-get install vim-gtk #Ubuntu
yum install vim -y #CentOS
安装成功后,我们输入命令 vim day03.txt
此时我们就进入了命令模式,此状态下无法输入,可以为vim传递命令,a或i切换到输入模式
我们在命令模式下敲冒号:,就进入了底边模式,底边模式下q为退出程序,w为保存文件,wq退出程序,以上命令后面加感叹号!代表强制执行
vim命令模式下常用快捷键
Ctrl+f 屏幕向下移动一页
Ctrl+b 屏幕向上移动一页
home或0 移动到一行最前面的字符
end或$ 移动到这一行最后面的字符
G 移动到最后一行
gg 移动到第一行
数字+G 移动到第几行
数字 向下移动几行
/string 查找string字符串
yy 复制当前行
dd 删除当前行
u 复原上一个动作
p 从下一行开始粘贴
P 从上一行开始粘贴