我有这个python代码,它将采用文件名和偏移集(逗号分隔),并将读取偏移中定义的相应行。
do
python fileOffset.py /mnt/media1/file $offsets >> tmpfile
done
$offsets
将提供逗号分隔的字符串,其中包含filepointers(12,123,121134)。这工作正常,直到我得到一个非常冗长的偏移字符串,这将导致参数列表太长错误。作为一个解决方案,我编写了以下代码,它将拆分偏移量并将fileOffset.py调用为一个偏移量。
IFS=', ' read -a array <<< $offsets
for element in "${array[@]}"
do
python fileOffset.py /mnt/media1/$file $element >> tmpfile
done
但这会使文件处理速度变慢。我怎么能让它更快?
答案 0 :(得分:1)
您可以使用xargs
:
IFS=', ' xargs read -a array <<< $offset
但是,我正在使用@ FrederikPihil的评论:完全使用python,因为你已经在每次迭代时产生了一个python进程。