繁体   English   中英

如何从目录中的文件名保存多个IP地址?

[英]How can I save multiple IP addresses from file names in a directory?

对Bash来说很新,我正在使用bash脚本来自动存储/检索某个目录中的证书。 我想出了如何获得一个IP,但如果目录中有多个IP地址的文件,我不确定如何存储IP列表。

例如,我可以查看路径保存在$ {PATH}中的目录
PATH=$(ls path/to/directory)只从名为0.0.0.0Cert.pem的文件中获取IP

SINGLE_IP=${echo "PATH%%C%"}

SINGLE_IP == 0.0.0.0

但是如果$ {PATH}中有0.0.0.0Cert.pem和1.1.1.1Cert.pem

SINGLE_IP=${echo "PATH%%C%"}只会获得目录中找到的第一个IP,但是,我需要获取所有IP,以便我可以在以后的脚本中获取所有相关文件。

谢谢!

编辑:

为清楚起见,我只需要文件名中的IP。 我不需要Cert.pem或实际IP以外的任何其他内容。

使用find命令:

要找到“关键”文件:

find path/to/dir -type f -name *[0-9]Cert.pem

仅从文件名中提取IP地址:

find path/to/dir -type f -name "*[0-9]Cert.pem" -exec sh -c \
     'f=$(basename $1);  echo "${f%Cert*}"' _ {} \;

输出将采用以下格式:

0.0.0.0
1.1.1.1
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM