我有一个脚本,它从文件中读取行,获取每行的第一列,并附加到一个名为该行的文件(我正在尝试编写许多不同的文件,名为 $id.txt)。
是否有可能有一个比这更快的脚本(在单节点机器上)?请注意,我使用read -r
andid="$(echo $line | awk '{print $1}')"
因为我有制表符分隔的字段,并且我想保留某些字段中的某些字符,例如反斜杠。
while read -r line
do
id="$(echo $line | awk '{print $1}')"
echo "$line" >> $id.txt
done < $1
我的输入的一些特征:
- 输出
$id.txt
文件不是那么大,通常平均几百行,最多几千行 - id 实际上已经排序,并且行以连续块的形式出现,即:
abc ... abc ... def ... def ... def ... def ... ghi ... ghi ...