如何将多行字符串变成阵列并用bash呼应特定的索引值?
bash- version:gnu bash,版本5.0.17(1)-Release(x86_64-pc-linux-gnu)
我的多行var包含
item1 item2 item3 item4
item1 item2 item3 item4
item1 item2 item3 item4
我试图输出item3的此字符串(最终将其用于API调用,但只是回荡了它就目前而言):
item3
item3
item3
这就是我试图做的方式:
while IFS= read -r line
do
printf "${line[2]}"
done < <(printf '%s\n' "$multiline")
我目前什么都没得到。 (至少对我来说)表明printf没有得到数组。但是,当我以这样的方式循环时:
while IFS= read -r line
do
for item in ${line[@]}
do
echo "$item"
done
done < <(printf '%s\n' "$EC2")
它会在单独的行上回荡所有12个项目,就好像$行是一个合法的数组一样。 我只想每行的项目3。
bash --version: GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
my multiline var contains this string
item1 item2 item3 item4
item1 item2 item3 item4
item1 item2 item3 item4
I am trying to output item3 (eventually use it for an API call but just echo it for now) as such:
item3
item3
item3
This is how I'm attempting to do it:
while IFS= read -r line
do
printf "${line[2]}"
done < <(printf '%s\n' "$multiline")
I currently get nothing. Indicating (to me at least) that printf is not getting an array. But when I loop with something like this:
while IFS= read -r line
do
for item in ${line[@]}
do
echo "$item"
done
done < <(printf '%s\n' "$EC2")
It does echo all 12 items on separate lines as if $line was a legitimate array.
I just want item3 of each line.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
或者如果您喜欢:
或给出您的命令:
或:或:
或:
etc。
or if you prefer:
or given your command:
or:
or:
etc....
类似于
剪切-d''-f3
方法,但使用awk
:Similar to the
cut -d' ' -f3
approach but usingawk
: