首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在for循环中将变量传递给sed

在for循环中将变量传递给sed
EN

Stack Overflow用户
提问于 2016-11-17 15:45:51
回答 1查看 304关注 0票数 3

我有一个用如下脚本编写的for循环:

代码语言:javascript
复制
for((i=0;i<${#hours[@]})); do
    dates=("$(last | egrep -v "reboot|wtmp|^$" | sort | tr -s " " | sed "$i q;d" | cut -f5-7 -d' ')")
done

如果我只是在终端中执行分配给dates的命令,将$i (在sed命令中)替换为一个数字(0、1、2.),它就会返回我想要的结果,例如Nov 15 23:15

但是,在for循环中,我似乎遇到了sed命令不能增量$i的问题。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 17:36:51

你的问题是你从来没有改变过i。您可能应该在for语句的第三部分中更新它:

代码语言:javascript
复制
for((i=0;i<${#hours[@]};++i)); do
#                       ^^^ here
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40659199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档