您的位置:首页 > 其它

interleave two text files with specified lines

2014-06-03 14:39 155 查看
a_file=$1
a_step=$2
b_file=$3
b_step=$4

a_start=1
let a_end=$a_start+$a_step

b_start=1
let b_end=$b_start+$b_step

a_lines=$(wc -l $a_file | awk '{print $1}')
b_lines=$(wc -l $b_file | awk '{print $1}')

while true
do
awk "NR >= $a_start && NR < $a_end {print}" $a_file
awk "NR >= $b_start && NR < $b_end {print}" $b_file
let a_start=$a_start+$a_step
let a_end=$a_end+$a_step
let b_start=$b_start+$b_step
let b_end=$b_end+$b_step

if [ $a_start -ge $a_lines ] && [ $b_start -ge $b_lines ]
then
break
fi

#echo "a_start:" $a_start "a_end:" $a_end "b_start:" $b_start "b_end:" $b_end
#echo "a_file:" $a_file "a_step:" $a_step
#echo "b_file:" $b_file "b_step:" $b_step
done


  

Usage:

bash interleave.sh file_a 7 file_b 1


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: