我做了使用nmap
工作再上一个IP地址范围内的所有设备及其MAC地址的脚本。我想为每个设备创建一个文件,如IPaddress_macaddress。 我做到了这一点,但我不知道如何动态创建文件。Nmap的庆典动态创建文件
sudo nmap -n -sP 192.168.1.* |
awk '/Nmap scan report/{printf $5;printf " ";getline;getline;printf $3;}' > file.txt
这将打印在file.txt的:
192.168.1.10 DC:EX:03:0S:4B:31
192.168.1.11 A4:2G:8C:E8:5A:65
192.168.1.32 9C:80:GF:J0:53:6F
192.168.1.23 64:7C:54:CC:SD:C4
192.168.1.77 256
这个文件的格式是
ipaddress macaddress
我想解析文件创建为每个符合一个新的文件每行内容的名称,在ipaddress和macaddress之间添加一个下划线。对应于ipaddress_macaddress.txt
所以,对于file.txt的,有剧本,我想它来创建 192.168.1.10_DC:EX:03:0S:4B:31.txt等
我不知道我该怎么解析它智能
你不能只是将输出重定向到一个文件,例如通过添加>文件名 –
@RamanSailopal是的我可以很容易地重定向到一个文件的输出,但我怎么能解析它很容易保存ips和mac值? – Michael003
您在寻求帮助来编写awk脚本,将某些输入文本转换为某些输出文本,以便您必须向我们展示该输入和输出的外观。 [编辑]你的问题,包括一个简洁,可测试的样本输入(即你的'nmap'命令的输出)[mcve]和给定输入的期望输出。如果所需的输出是多个文件,听起来可能是这样,那么显然会向我们展示至少两个输出文件及其内容。正确的答案不会使用getline btw,请参阅http://awk.freeshell.org/AllAboutGetline,并且从不执行'printf $'。 –