我在数组中有以下数据:
MY_ARR[0]="./path/path2/name.exe 'word1 word2' 'name1,name2'" MY_ARR[1]="./path/path2/name.exe 'word1 word2' 'name3,name4,name5'" MY_ARR[2]=".name.exe 'word1 word2'" MY_ARR[3]="name.exe" MY_ARR[4]="./path/path2/name.exe 'word1 word2' 'name1'" MY_ARR[5]="./path/path2/name.exe 'word1 word2' 'name.exe,name4.exe,name5.exe'"
我想把它分成两个变量:$file和$parameter.
例:
file="./path/path2/name.exe" parameter="'word1 word2' 'name1,name2'"
我可以用awk做到这一点:
parameter=$(echo "${MY_ARR[1]}" | awk -F\' '{print $2 $4}') file=$(echo "${MY_ARR[1]}" | awk -F\' '{print $1}')
这需要删除尾随空格并且看起来很复杂.
有没有更好的方法呢?
看起来字段之间的分隔符是一个空格.因此,您可以使用剪切来分割它们:
file=$(echo "${MY_ARR[1]}" | cut -d' ' -f1) parameter=$(echo "${MY_ARR[1]}" | cut -d' ' -f2-)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。