菜鸟问题Shell循环和字符串链接问题

2013-05-09 17:07:47 +08:00
 kenneth
for((i=1;i<100;i++));do
echo data$i.json;
done

循环可以生成
data1.json
data2.json
.....



请问如何链接起来?中间用空格

希望得到 data1.json data2.json data3.json....
6603 次点击
所在节点    程序员
11 条回复
cdfmr
2013-05-09 17:10:08 +08:00
echo -n
kenneth
2013-05-09 17:13:31 +08:00
@cdfmr 我试了一下,好像中间少空格?不知道错哪里?
cdfmr
2013-05-09 17:16:40 +08:00
@kenneth 自己加上空格,echo -n "data$i.json "
kenneth
2013-05-09 17:21:47 +08:00
@cdfmr

如果我想echo出来的字符串作为我一个命令的参数怎么写?

for((i=1;i<100;i++));do
这里我想用一个命令可以? echo -n "data$i.json " ;
done
cdfmr
2013-05-09 17:28:42 +08:00
如果对每个data$i.json执行命令,直接使用不就行了;如果要将拼接后的字符串作为参数,先保存在一个变量中。
kenneth
2013-05-09 17:33:42 +08:00
@cdfmr 我不懂shell能够代码说明下如何将echo -n "data$i.json "的结果放到一个变量中
因为我的一个命令需要这个做参数。
loggerhead
2013-05-09 17:49:12 +08:00
@kenneth
#!/bin/bash
arg=
for ((i=1; i<100; i++));do
arg+="data$i.json "
done
echo $arg
cdfmr
2013-05-09 17:51:32 +08:00
a="$a data$i.json"
找个入门教程,花不了几分钟。
swulling
2013-05-09 17:52:26 +08:00
其实我更习惯 echo 出来后 tr '\n' ' ',把回车变成空格
kenneth
2013-05-09 18:07:52 +08:00
@cdfmr
@loggerhead

感谢指点,菜鸟学习了。
duhastmich
2013-05-10 09:12:20 +08:00
echo data{1..100}.json

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/68288

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX