Linux 将列表插入到字符串中
我想我的最后一个问题不清楚,以防有人觉得这很熟悉Linux 将列表插入到字符串中,linux,bash,shell,unix,Linux,Bash,Shell,Unix,我想我的最后一个问题不清楚,以防有人觉得这很熟悉 #!/bin/bash STATE= xml sel -t -v "/PATH/TO/VALUE/@state" ListOfStates.xml 这将生成一个类似于以下内容的列表 TEXAS COLORADO NEW YORK FLORIDA CALIFORNIA 我想将每一行插入echo命令或.txt,如下所示: FileName="STATE_${STATE}" echo $FileName 输出如下所示: TEXAS COLORA
#!/bin/bash
STATE= xml sel -t -v "/PATH/TO/VALUE/@state" ListOfStates.xml
这将生成一个类似于以下内容的列表
TEXAS
COLORADO
NEW YORK
FLORIDA
CALIFORNIA
我想将每一行插入echo命令或.txt,如下所示:
FileName="STATE_${STATE}"
echo $FileName
输出如下所示:
TEXAS
COLORADO
NEW YORK
FLORIDA
CALIFORNIA
STATE_
相反,我的输出应该如下所示 STATE_TEXAS
STATE_COLORADO
STATE_NEW YORK
STATE_FLORIDA
STATE_CALIFORNIA
如果要将其存储到数组中:
IFS=$'\n' arr=($(xml sel -t -v "/PATH/TO/VALUE/@state" ListOfStates.xml | sed 's/^/STATE_/'))
STATE=xml sel-t-v”/PATH/TO/VALUE/@STATE“ListOfStates.xml
,100%不起作用。你确定吗?我刚刚运行了xml sel-t-v”/PATH/TO/VALUE/@state“ListOfStates.xml
,它输出了上面的列表。赋值不正确,不是xml命令。不需要使用g
修饰符,因为^
匹配字符串的开头,第二个示例使用以下内容创建了一个数组:xml
,sel
,-t
,-v
。。。如果它没有因为管道而失败。那么数组也会在纽约@ritesht93@ritesht93出现问题,所以我很想让数组正常工作,下面是我所做的IFS=$'\n'STATE=($(xml sel-t-v)/PATH/to/VALUE/@STATE”ListOfStates.xml | sed's/^/STATE/)
,然后我回显了那个数组,对吗<代码>回显$STATE。。。它排列得很好,除了不输出所有州外,它只输出第一行:STATE_TEXAS
@buzzin use this:echo${STATE[@]}
这与在它发布前5分钟发布的答案相同,减去子菜单中的g
标志。这是真的,但我还没有看到这个答案。
IFS=$'\n' arr=($(xml sel -t -v "/PATH/TO/VALUE/@state" ListOfStates.xml | sed 's/^/STATE_/'))
xml sel -t -m '//path/to/element' -v 'concat("STATE_", @state)' -nl ListOfStates.xml