我有一个文档,其中包含几个文件名,我想用grep来收集所有带有xsd扩展名的文件。当我使用grep和我的正则表达式模式时,我得到了正确的结果,大约18个。现在我想将这些结果存储在一个数组中。我使用了以下bash代码:
targets=($(grep -i "AppointmentManagementService[\.]" AppointmentManagementService\?wsdl))
然后我打印数组大小:
echo ${#targets[@]}
结果是80而不是18,因为它只将一个结果的一部分存储到数组单元中。如何确保只有一个结果进入一个阵列单元?
答案 0 :(得分:1)
结果可能会在多个单元格中分割,因为字符(最可能是空格)被解释为内部字段分隔符。
尝试执行此操作:
IFS=$'\n' targets=($(grep -i "AppointmentManagementService[\.]" AppointmentManagementService\?wsdl))