在命令创建的文件中引用命令的一部分

在命令创建的文件中引用命令的一部分

我使用 nmap 进行网络报告,如下例所示:

nmap 192.168.1.0/24 -oG filename_$(date +'%d-%m-%Y-%T').txt

如何将扫描到的网络添加到创建的文件名中?例如,创建的文件看起来像192.168.1.0/24_07-01-2022.txt

谢谢!

答案1

正如@doneal24所指出的,/是不能出现在文件名在 UNIX 文件系统中。看那里

您可以使用变量替换来/与(或与除和 之外_的任何其他字符)进行交换:/\000 (null character)

net=192.168.1.0/24 && nmap "$net" -oG "${net/\//_}_$(date +'%d-%m-%Y-%T')"

稍后,当您需要取回扫描的网络时,只需将_(或其他任何内容)替换为/即可获取网络+网络掩码。

相关内容