interleave two text files with specified lines

本文介绍了一种使用Shell脚本实现两个文件的交错读取的方法,通过定义变量和循环控制,可以按指定步长从两个文件中交替读取行,并展示了具体的脚本用法。
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

  

转载于:https://www.cnblogs.com/long123king/p/3765732.html

Interleave是一种数据处理方法,可以将现有数据集中的每个元素进行处理,并生成新的结果。它可以用于合并多个数据集,也可以用于对单个数据集进行处理。Interleave的具体操作是遍历数据集中的每个元素,根据指定的处理函数对元素进行处理,然后将处理结果合并成新的数据集。 引用中提到了关于内存交叉存取技术的使用interleave的例子,这是一种加快内存速度的技术。它通过将存储体的奇数地址和偶数地址部分分开,可以实现在刷新当前字节时不影响下一个字节的访问。这里的interleave是在硬件层面上的一种技术,与上述提到的数据处理方法中的interleave有所不同。 在TensorFlow中,tf.data.Dataset.interleave()是一个通用的数据处理方法,可以看作是flat_map的一种泛化方法。通过设置参数,可以实现并行处理多个元素,将处理结果按照指定的规则合并成新的数据集。 总结来说,interleave是一种数据处理方法,可以用于合并多个数据集或对单个数据集进行处理。在不同领域中,interleave有不同的具体使用方式,比如在硬件层面上的内存交叉存取技术,以及在TensorFlow中的数据处理方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [存储器术语interleave解释](https://blog.youkuaiyun.com/jiankun_wang/article/details/3552224)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [tensorflow dataset基础之——dataset api的使用](https://blog.youkuaiyun.com/zhao_crystal/article/details/122159163)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值