vim、awk、tail、grep的使用

vim命令

复制代码
	$定位到光标所在行的行末
	^定位到光标所在行的行首
	gg定位到文件的首行
	G定位到文件的末行
	dd删除光标所在行
	ndd删除n行(从光标所在行开始)
	D删除光标所在行,使之变为空白行
	x删除光标所在位置字符
	nx删除n个字符,从光标开始向后
	X删除光标前一个字符
	nX删除光标前n个字符

	set nu显示行号
	set nonu取消显示行号

搜索:
	:/关键词
	回车之后,按 n 来搜索下一个出现的匹配结果

撤销和恢复
	u就是撤销之前的操作
	ctrl+r就是恢复(取消)撤销的动作

文件内容的替换
	第一步::进入底行模式
	第二步: s/ 要替换的关键字/替换后的关键字 + 回车替换光标所在行的第一个(从左到右)满足条件的关键字
	s/要替换的关键字/替换后的关键字g + 回车替换光标所在行的所有满足条件的关键字
	%s/要替换的关键字/替换后的关键字 + 回车针对文件的所有行进行替换(每行满足条件的第一个关键字)
	 %s/要替换的关键字/替换后的关键字g + 回车 针对文件的所有行进行替换(每行所有满足条件的关键字)

awk命令的常用功能

awk命令的参数选项及说明

复制代码
给文件每行的内容之前加上行号。
		awk '{print NR,$0}' reload.sh
显示文件的第2行到6行,并打印行号
	awk 'NR==2,NR==5 {print NR,$0}' reload.sh
获取此文件的第1列和第三列、最后一列
	awk -F ':' '{print $1,$3,$NF}'
		说明:
			这里我们使用了awk的-F参数,注意一定要是大写的,-F参数表示指定分隔符来切割每一行的内容,-F后面可用单双引号或不加引号,但是,建议加双引号。
			这里我们指定的分隔符是冒号":",这样该行就被不同的冒号切割成了很多个部分。
			切成了很多个部分之后,若我们要使用某一个部分该怎么办?使用"$(美元符号)"后面接数字,$1表示第一个部分(第一列),$2(第二列),$3(第三列),依此类推,但$0表示整行。
		这里有一个特殊的表示最后一列的方法,就通过$NF来表示最后一列。
		
使用awk将文件中的qq替换为tihuan(使用awk函数实现)
	awk '{gsub("qq","tihuan",$0);print $0}'
			gsub("替换对象","替换成什么内容",哪一列)
			gsub与后面的括号之间不能有空格。
			替换对象、替换成什么内容以及哪一列之间要用逗号分隔开。
			替换对象的外面要有双引号或双斜线包裹起来,即"替换对象"或/替换对象/。
			替换成什么内容就只能用双引号包裹起来了,即"替换成什么内容"。
			最后一个是哪一列,这个是可以省略的,省略的时候表示要替换整行的内容,相当于是写上了$0。
			
取出eth0网卡对应的ip地址。
	ifconfig eth0 |awk -F "(addr:)|(  Bcast:)" 'NR==2{print $2}'或者ifconfig eth0|awk -F "[ :]+"  'NR==2{print $4}'
		说明:
			-F"(addr:)|(Bcast:)"这个还是比较容易理解的,我们的目标是取得ip,本例是10.0.0.8,ip的左边是"addr:",右边是"Bcast:",左边分隔,即把"addr:"作为分隔符,右边分隔,即把"Bcast:"作为分隔符,剩下中间的ip就是我们想要的。
			但是还需要一个条件,ip地址在第二行所以使用NR==2来表示。
	
将域名取出并根据域名进行计数排序处理
	bash-5.0# cat domainTest.txt
	http://www.etiantian.org/index.html
	http://www.etiantian.org/1.html
	http://post.etiantian.org/index.html
	http://mp3.etiantian.org/index.html
	http://www.etiantian.org/3.html
	http://post.etiantian.org/2.html
	
	取出域名:awk -F '/' '{print $3}' domainTest.txt
	排序:awk -F '/' '{print $3}' domainTest.txt | sort
	去重计数:awk -F '/' '{print $3}' domainTest.txt | sort | uniq -c

tail语法

复制代码
tail [ -f ] [ -c Number | -n Number | -m Number| -b Number | -k Number ] [ File ]
	-f 该参数用于监视File文件增长。
	-c Number 从 Number 字节位置读取指定文件
	-n Number 从 Number 行位置读取指定文件。
	-m Number 从 Number 多字节字符位置读取指定文件,比如你的文件如果包含中文字,如果指定-c参数,可能导致截断,但使用-m则会避免该问题。
	-b Number 从 Number 表示的512字节块位置读取指定文件。
-k Number 从 Number 表示的1KB块位置读取指定文件。

grep命令的基本概念和用途

参数选项 解释说明
-c 只统计匹配的行数
-v 排除匹配结果
-n 显示匹配行与行号
-i 不区分大小写
-E 使用egrep命令
-color = auto 为grep过滤结果添加颜色
-w 只匹配过滤的单词
-o 只输出匹配的内容
相关推荐
VidDown2 天前
VidDown 工具站:免费、本地优先的开发者工具箱
javascript·编辑器·音视频·视频编解码·视频
Non-existent9872 天前
WPS批量清理单元格空白字符的4种方法-异常数字格式处理-实战
excel·wps
VidDown2 天前
显卡处理视频技术详解:从硬解码到 NVENC,GPU 如何让视频处理起飞?
javascript·编辑器·音视频·视频编解码·视频
Channing Lewis2 天前
PHP 解析 Excel 的那些坑:一次“行号错位”引发的数据丢失
开发语言·php·excel
夜猫逐梦2 天前
【UE基础】03.蓝图与编辑器工作流
编辑器·ue·蓝图·ue编辑器
VidDown2 天前
视频帧率技术详解:从 24fps 到 120fps,帧率如何影响你的观看体验?
网络·网络协议·编辑器·音视频·视频编解码·视频
爱就是恒久忍耐2 天前
VSCode里如何比较2个branch
ide·vscode·编辑器
jarreyer2 天前
【数据分析绘图】excel绘图和bi工具区别
数据挖掘·数据分析·excel
chatexcel2 天前
ChatExcel Max使用教程:图片、PDF、网页与复杂Excel的一站式数据分析
数据分析·pdf·excel
cngkqy2 天前
excel从某一列中用match筛选匹配的数据
excel