【问题标题】:Using `grep` From List in For-Loop在 For 循环中使用列表中的 `grep`
【发布时间】:2013-04-29 20:49:31
【问题描述】:

是否可以在参数数组上使用grep 来签入文件?例如:

 #!/bin/bash

 counter=0
 property_list=( "main.memory" "jvm.memory" ...)
 for i in "${property_list[@]}"
 do 
     for mLine in $(grep "${propert_list[counter]}" params.properties)
     do
            echo "$mLine"

     done
     let counter=counter+1
 done

for 循环中grep 的这种格式不起作用,因为它需要的属性比需要的多(可能是因为文件中的空格)。 此外,文件中的属性格式为main.memory=-min50m -max1024mfor 循环以非列表格式循环返回两次并返回max1024m,理想情况下,我希望将最小值和最大值保存到不同的变量中,但一次只有一个桥......

谢谢,

【问题讨论】:

    标签: bash list for-loop grep


    【解决方案1】:

    改为awk:

    for mLine in $(awk "/${property_list[counter]}/" params.properties)
    do
        echo "$mLine"
    done
    

    【讨论】:

      猜你喜欢
      • 2015-09-23
      • 1970-01-01
      • 2022-01-06
      • 2013-07-21
      • 2020-12-26
      • 2015-08-17
      • 1970-01-01
      • 2013-06-21
      • 2020-09-24
      相关资源
      最近更新 更多