将列表插入字符串

时间:2016-05-05 07:48:38

标签: 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
COLORADO
NEW YORK
FLORIDA
CALIFORNIA
STATE_

相反,我的输出应该如下所示

 STATE_TEXAS
 STATE_COLORADO
 STATE_NEW YORK
 STATE_FLORIDA
 STATE_CALIFORNIA

2 个答案:

答案 0 :(得分:1)

xml sel -t -v "/PATH/TO/VALUE/@state" ListOfStates.xml | sed 's/^/STATE_/'

如果你想将它存储到一个数组中:

IFS=$'\n' arr=($(xml sel -t -v "/PATH/TO/VALUE/@state" ListOfStates.xml | sed 's/^/STATE_/'))

答案 1 :(得分:0)

xml sel -t -m '//path/to/element' -v 'concat("STATE_", @state)' -nl ListOfStates.xml