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命令的常用功能
文章来源:https://www.toymoban.com/news/detail-622888.html
awk命令的参数选项及说明
文章来源地址https://www.toymoban.com/news/detail-622888.html
给文件每行的内容之前加上行号。
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 | 只输出匹配的内容 |
到了这里,关于vim、awk、tail、grep的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!