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

Linux 如何从目录中的文件名保存多个IP地址?,linux,bash,Linux,Bash,对于Bash来说,我是一个新手,我正在编写一个Bash脚本来自动存储/检索某个目录中的证书。我知道了如何获得一个IP,但若一个目录中有多个具有IP地址的文件,我不确定如何存储IP列表 例如,我可以查找路径保存在${path}中的目录 PATH=$(ls PATH/to/directory) 仅从名为0.0.0.0Cert.pem的文件中获取IP SINGLE_IP=${echo“PATH%%C%”} 单程IP==0.0.0.0 但是如果${PATH}中有0.0.0.0Cert.pem和1.1.1

对于Bash来说,我是一个新手,我正在编写一个Bash脚本来自动存储/检索某个目录中的证书。我知道了如何获得一个IP,但若一个目录中有多个具有IP地址的文件,我不确定如何存储IP列表

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

SINGLE_IP=${echo“PATH%%C%”}

单程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
命令:

要查找“关键”文件,请执行以下操作:


要仅从文件名中提取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
...

那么您要查找的文件存储在一个目录中?是的。我们可以假设在一个公共目录中至少有2个IP文件,我需要获取所有这些文件。谢谢,但可能我有点不清楚。我可以获得附带Cert.pem的文件名。但我需要的是一种只保存文件名中的IP的方法,这样我就可以将它们保存在该IP地址下的密钥/值存储中。我看不出这个解决方案如何不能满足您表达的需求。这正是我所需要的。获取目录中文件名中的所有IP。谢谢你昨天的及时回复。
0.0.0.0
1.1.1.1
...