我在shell中有一个列表。
LISTNODES='
name1 labels="{..}"
name2 labels="{...}"
'
现在我循环遍历列表(for-loop)。但我只想把这个名字从循环中取出来。
这样的事情
for i in $LISTNODES; do
i = #command to keep name (and cut labels...)
echo $i #this output must be name1 and for the next loop name2
答案 0 :(得分:1)
使用
${i%% *}
循环中的。
(重要提示:%%
和*
之间必须只有一个空格
答案 1 :(得分:0)
您可以使用awk。
echo "$LISTNODES" | awk '{print $1}'
答案 2 :(得分:0)
我不明白你的名单。我为你做了一个阵列:
declare -a LISTNODES=('name1 labels="{..}"' 'name2 labels="{...}"' 'name3 labels="{a b c}"')
for i in "${LISTNODES[@]}"; do
echo "$i can be split into"
echo "Name: ${i%% *}"
echo "Labels: ${i#* }"
done