grep

  • grep -n "get_spg2lsf" -r ./

在当前文件夹下查找包含get_spg2lsf字符串的文件

vim

快速删除

1、删除每行前10个字符:

  • :%s/^.\{10\}//

其中,%表示所有行,s表示替换,”%s”可用”1,$”代替(下同);

正则表达式”/^.{10}//”中,^表示行首;”.”表示要删除的字符个数,”.{10}“表示删除10个字符,可用10个”.”表示;

2、删除每行后10个字符

  • :%s/.\{10\}$//

字符串替换

vi/vim 中可以使用 :s 命令来替换字符串。

  :s/vivian/sky/ 替换当前行第一个 vivian 为 sky

  :s/vivian/sky/g 替换当前行所有 vivian 为 sky

  :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

  :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

awk

在实际信息搜集过程中遇到的问题:

现在有一个hosts文件,其中包含了所需要信息搜集的域名和ip地址,其格式如下存储:domain.com.cn,1.1.1.1

首先按照信息搜集的方式第一步我是先过一遍ip或域名的端口,所以问题就来了;nmap不支持这种形式进行文件内容读取,需以一行一数据的形式,就是:

domain.com.cn1
ip1
domain.com.cn2
ip2

不管是域名还是ip地址都是以这样的形式来读取才能使用-iL参数来读取指定的域名或ip,最后实现我们的端口扫描任务,所以是需要以逗号为界限,将两列数据分成两个文件;

故我们构思一下思路:以逗号为标示,把前面一列和后面一列分别使用参数$1,$2来表示,将$1输出到domain1.txt,$2输出到domain2.txt中。