我有IP范围列表,我需要创建一个csv文件,如下所示。
- 输入数据**
Start IP
192.168.100.1
172.1.1.1
- 预期产出**
192.168.100.1
192.168.101.1
-----
-----
192.168.254.1
同样,对于172系列,我需要生成数据。
172.1.1.1
172.1.2.1
173.1.3.1
----
----
173.1.254.1
我不是很擅长excel。所以,我想用PowerShell生成数据。
我可以通过在脚本中定义来读取输入,也可以读取文本文件。
但是我不知道如何读取IP的第三个值并递增它。
任何人都有任何建议。可能是一些在正则表达式的支持。
foreach($line in Get-Content c:\test\ip.txt) {
---- Need some support here.
}
- 更新了问题,以便更好地理解。**
3条答案
按热度按时间gojuced71#
尝试关注
yqkkidmi2#
k97glaaz3#
由于@iRon已经给出了一个很好的答案,我将把这个放在这里,只是为了一般的学习和未来的信息...
因为你说你不太擅长excel,这里有一个相当简单的方法,只需要一个公式就可以手动完成。如果你有很多IP地址要做,有更好的方法来完成,但是对于你最小的例子来说,它会很快完成:
如果您将IP地址的第三部分放入列中,然后使用
ctrl key
+向下拖动自动填充手柄将该值增加到总数(254),您就拥有了此操作所需的所有值。例如:然后在它旁边的列中,使用以下公式将我们刚刚为您的IP地址设置的值相加:
接下来,复制并粘贴公式,或者双击包含公式的单元格的自动填充控点,这样您的值就会一直降到254。
最后,复制公式范围并作为值(
ctrl + c
-〉ctrl + alt+ v
-〉paste as values
)粘贴到CSV输出工作表中。对另一个IP地址重复此操作,并将输出表保存为CSV。