如何使用bash和脚本工具来转发此文件:
apples 2
oranges 3
bananas 1
pears 2
到这个文件:
apples
apples
oranges
oranges
oranges
bananas
pears
pears
我尝试了一些没有成功的awk
答案 0 :(得分:4)
这样可行:
awk '{ for (i=0; i<$2; ++i) print $1 }' file
使用第二列中的值来确定for
循环中的迭代次数。多次打印第一列。
输出:
apples
apples
oranges
oranges
oranges
bananas
pears
pears
或者也许是一点Perl:
perl -ane 'print "$F[0]\n" x $F[1]' file
使用-a
将每一行拆分为列,并将第一列(+换行符)打印为第二列的值。
答案 1 :(得分:2)
你甚至可以用纯粹的bash来做:
#!/bin/bash
while read -r fruit count; do
for ((i = 0; i < count; i++)); do
echo "$fruit"
done
done