首页 > 解决方案 > 根据列值打印字符 n 次

问题描述

我正在尝试根据表格多行中的列值多次打印字符“N”

例如,此表的输出:

AATTGGCC   A   1.7   4
CCGGTTAA   T   0.8   3
AAGGTTCC   G   2.4   7

理想情况下会返回:

NNNN
NNN
NNNNNNN

基于第 4 列中的值。

目前,我一直在使用:

while read line
do
a=$4
printf "$0.sN\n" {a}
done < table.txt

但这仅返回三个“N”,每个都在新行上。理想情况下,我还想在每行输出的末尾打印出第 2 列的字母。

谁能帮帮我吗?

标签: bashprintf

解决方案


使用 bash:

while read x x x end; do
  for ((i=0; i<$end; i++)); do
    echo -n "N"
  done
  echo
done < file

输出:

NNNN
神经网络
NNNNNNN

推荐阅读