- 论坛徽章:
- 0
|
#!/bin/bash
echo ''|awk 'BEGIN{srand(5000)}{for (i=1;i<=52;i++)printf "%d\n",rand()*5000}' | sort >rand_seqid
while read line
do
awk -v a=$line ' {if (NR==a){print $0}} ' mt_ch >>mt_tihuan
done < "rand_seqid"
程序目的: 用上面的程序,想实现从文件rand_seqid 中每行 读取 一个数字
,这个数字作为文件的mt_ch 的行号,并输出 mt_ch 整行的内容 ,追加到mt_tihuan 中。
问题描述: rand_seqid 中有52 行记录且 每行数字小5000 , mt_ch 中有5000行记录。理论上 mt_tihuan 应该有52条记录输出。可是实际只输出了31行。 请大家帮忙找一下愿意。 这只是正规shell 程序中的一个小部分。 卡在这里动不了了。。。。。求救
附件中有,打包的rand_seqid ,和mt_ch 请大家下载运行一下,看看具体问题,谢谢
[ 本帖最后由 西门子 于 2008-7-19 14:09 编辑 ] |
|