首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个(简单的) for循环做的是我想要的吗?

这个(简单的) for循环做的是我想要的吗?
EN

Stack Overflow用户
提问于 2013-07-09 16:55:25
回答 1查看 43关注 0票数 1

我几乎没有使用cygwin和UNIX的经验,但需要使用它从更大的文件集中提取大量数据……昨天我得到了一些帮助来做这个简短的脚本,但是(在运行了大约7-8个小时之后)这个脚本简单地写了22次相同的输出文件。至少我是这么认为的。

我现在已经把代码改成这样了(见下文),但如果有人知道如何正确地做这件事,能在我浪费另外8个小时之前告诉我它是否可能工作,那就太棒了。

代码语言:javascript
复制
for chr in {1..22}
do
zcat /cygdrive/g/data/really_long_filename$chr | sed '/^#/d' | cut -f1-3 >> db_to_rs_$chr
done

我希望它读取文件1..22,删除以#开头的行,并将列1到3发送到以相同编号1..22结尾的文件

昨天最后一部分是...-f1-3 >> db_to_rs,我怀疑它只是重写了那个文件22次?

感谢您的帮助~L

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 16:59:03

是的,代码会像预期的那样工作。

当命令以...-f1-3 >> db_to_rs结束时,它实际上将所有输出附加到文件db_to_rs

声明... >> db_to_rs_$chr将创建以{1 .. 22}结尾的文件名。

但是,请注意,声明>>会将输出附加到一个文件。因此,如果db_to_rs1已经存在,则输出将被追加。如果您想创建一个新文件,请不要使用>>,而使用>

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17543961

复制
相关文章

相似问题

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