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 只输出匹配的内容
相关推荐
Cloud_Shy61822 分钟前
Python 数据分析基础入门:《Excel Python:飞速搞定数据分析与处理》学习笔记系列(第十二章 用户定义函数 上篇)
python·数据分析·excel·pandas
QuZhengRong43 分钟前
【Luck-Report】缓存
java·前端·后端·vue·excel
程序员老油条3 小时前
Excel合并的单元格拆分并批量填充为已有数据
excel
@noNo3 小时前
Visual Studio Code添加自定义大模型API
ide·vscode·编辑器
QQ12958455044 小时前
FERP50 - Excel以存储过程方式访问数据仓库
数据仓库·spark·excel
winlife_4 小时前
把 Cocos Creator 编辑器接入 AI:Funplay MCP for Cocos 介绍
人工智能·编辑器·ai编程·cocos creator·游戏开发·claude·mcp
Omics Pro4 小时前
免费!糖蛋白质组学数据分析
开发语言·深度学习·数据挖掘·数据分析·r语言·excel·知识图谱
拉里呱唧4 小时前
在线可视化HTML编辑器横评:8款拖拽式工具的实测对比
前端·编辑器·html
HezhezhiyuLe4 小时前
无界内嵌编辑器键盘事件失效
编辑器·计算机外设
开始脱发的自然卷5 小时前
用 Excel 手算一个 1-6-1 MLP:前向传播、损失、反向传播与参数更新
excel