arrays - bash脚本将字符串数组拆分为设计输出
问题描述
日志文件中的数据类似于:
"ipHostNumber: 127.0.0.1
ipHostNumber: 127.0.0.2
ipHostNumber: 127.0.0.3"
这是我的代码片段:
readarray -t iparray < "$destlog"
unset iparray[0]
for ip in "${iparray[@]}"
do
IFS=$'\n' read -r -a iparraychanged <<< "${iparray[@]}"
done
我想要接收的是将 IP 传输到另一个阵列,然后从该阵列读取每一行并 ping 它。
更新:我已经承认了一些事情,可能我想要一个数组到另一个数组但没有一些字符串,在这种情况下剪切“ipHostNumber:”并且只保留IP。
先谢谢了,如果有什么遗漏请告诉我。
解决方案
为什么你需要数组?只需阅读输入并完成工作。
while IFS=' ' read -r _ ip; do
ping -c1 "$ip"
done < "$destlog"
请参阅https://mywiki.wooledge.org/BashFAQ/001。
另一种方法是使用 xargs 和过滤:
awk '{print $2}' "$destlog" | xargs -P0 -n1 ping -c1
推荐阅读
- python - fortran 变量值是通过我在 python 中调用 fortran 模块继承的
- android - 如何使用 Epoxy 在列表中实现可折叠/可扩展项目?
- php - 什么是 Kotlin 等效的函数 openssl_private_decrypt?
- git - npm version "脚本可以访问 package.json 中的新版本"
- javascript - 通过 Onclick 使用 appendChild/replaceChild 函数切换图像堆栈
- python - 如何在 mac OS 10.14.4 上安装枕头(PIL)?
- unity3d - 区域灯根据摄像机角度/位置关闭 (HDRP)
- android - 如何在 NestedScrollView 中获取 overScroll 高度?
- spring-boot - 如何在 Spring Security 中自定义 BadCredentials 异常的 json 响应?
- python-3.x - IndexError:列表索引超出范围(shutil)