在 bash 中使用位置值将字符串转换为数组
我试图查看很多类似的问题,但我有一个特定的查询。我有两组或多组字符串(空格分隔值)。我想循环遍历
firstString="f1 f2 f3 f4"
secondString="s1 s2 s3 s4"
我想要类似
f1-s1
f2-s2
f3-s3
f4-s4
(在单个循环中)
的东西,我必须能够在单个循环中获取第二个和更多数组的位置值。
I tried to look through a lot of similar questions but I have a specific query. I have two or more sets of strings (space separated values). I want to loop through
firstString="f1 f2 f3 f4"
secondString="s1 s2 s3 s4"
I want something like
f1-s1
f2-s2
f3-s3
f4-s4
(in a single loop)
I must be able to take the positional value of the second and further arrays in a single loop.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
好吧,如果您首先使用
tr
将所有空格替换为换行符,以便将每个值放在单独的行上,那么paste
将解决您的问题:Pure bash解决方案:
Well, if you first replace all spaces with a new-line, using
tr
so that you have each value on a separate line, thenpaste
will solve your problem:Pure bash solution:
您可以使用 bash 内置数组:
You could make use of bash built-in arrays:
请参阅下面使用 awk 进行的测试:
see the test with awk below:
您可以轻松地以便携式方式完成此操作:
You can easily do it in a portable manner: