首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何重复特定列中的值?

如何重复特定列中的值?
EN

Stack Overflow用户
提问于 2019-06-25 03:57:13
回答 1查看 52关注 0票数 1

我想重复一些对应于前面几个专栏的值。

我有这样的输入:

代码语言:javascript
复制
2 miR-5
3 miR-10
1 miR-4
4 miR-6

我想要这样的输出:

代码语言:javascript
复制
miR-5
miR-5
miR-10
miR-10
miR-10
miR-4
miR-6
miR-6
miR-6
miR-6
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-25 04:06:23

我认为bash不适合这个任务,它不是针对文本操作进行优化的,它最适合你想要产生一些进程或操作文件等的任务。在大多数情况下,简单的文本操作任务可以用awk来完成。下面的代码为您的输入文件生成所需的输出:

代码语言:javascript
复制
$ cat file
2 miR-5
3 miR-10
1 miR-4
4 miR-6

$ awk '{for (i=1; i<=$1; i++) print $2}' file
miR-5
miR-5
miR-10
miR-10
miR-10
miR-4
miR-6
miR-6
miR-6
miR-6

为了完整地使用问题中的标记,下面是如何在bash中完成此操作:

代码语言:javascript
复制
#!/bin/bash
while read -r num rest
do
  for ((i=1;i<=num;i++))
  do
     printf '%s\n' "$rest"
  done
done < file
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56743148

复制
相关文章

相似问题

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