通过流通过管道传输的节点缩小器

我一直在研究Node.js中的流和转换。我写了一个可以搜索和替换的变换。

如果我有一个类似的输入文件

#!/bin/bash
declare -A matrix
#terms
num_rows=3
#subjects
read -p "Enter the number of subects:" num_columns

declare -A subj_array
for ((i=1;i<=num_columns;i++)) do
        read -p "Enter the name of subject ${i}:" subj_name
        subj_array[$i+1]=${subj_name}
    for ((j=1;j<=num_rows;j++)) do
        if [[ $j == "1" ]] ; then
        read -p "Enter prelim marks for subject ${subj_name}: " jj
        elif [[ $j == "2" ]]; then 
        read -p "Enter midterm marks for subject ${subj_name}: " jj
        else
        read -p "Enter final marks for subject ${subj_name}: " jj
        fi
        matrix[$j,$i]=$jj
    done
done

f1="%$((${#num_rows}+1))s"
f2=" %9s"

printf "$f1" ''
for ((i=1;i<=num_rows;i++)) do
    printf "$f2" $i
done
echo

for ((j=1;j<=num_columns;j++)) do
    printf "$f1" $j
    for ((i=1;i<=num_rows;i++)) do
        printf "$f2" ${matrix[$i,$j]}
    done
    echo
done


for ((i = 1; i <= $num_columns; i++)); do
    sum_per_subj=0
    for ((j = 1; j <= $num_rows; j++)); do
    sum_per_subj=$(echo $sum_per_subj+${matrix[$j,$i]} | bc)
    done

    echo "Subject ${subj_array[$i+1]} Average is":
    printf '%.4f\n' $(echo $sum_per_subj / $num_columns | bc -l)
done

    overall_sum=0;
for ((i = 1; i <= $num_rows; i++)); do
    sum_per_term=0
    for ((j = 1; j <= $num_columns; j++)); do
    sum_per_term=$(echo $sum_per_term+${matrix[$i,$j]} | bc)
    done
    overall_sum=$(echo $overall_sum+${sum_per_term} | bc)


            if [[ $i == "1" ]] ; then
    echo "Term prelim Average is":
        elif [[ $i == 2 ]]; then 
    echo "Term mideterm Average is":
        else
    echo "Term final Average is":
        fi
    printf '%.4f\n' $(echo $sum_per_term / $num_rows | bc -l)
done
 echo "overall Average is":
    printf '%.4f\n' $(echo $overall_sum / $num_rows | bc -l)

我想找到所有的“名称”并将其替换为“名字”

name: bob
name: mike

我必须对每个字符进行测试。即First Name: bob First Name: mike

我想使用只有1个字符的块来完成这项工作,因为无论如何它都必须如此。为了测试这一点,我创建了类似"n" === "name"[0]的可读流,这意味着在Fs.createReadStream(file,{highwatermark:1});函数中一次读取了一个字符。之所以能正常工作,是因为如果我检测到比赛开始,就会将这些块构建到缓冲区中,直到找到完全比赛为止。然后我继续前进。

现在我想在我的项目中添加缩小。我的问题是-缩小程序(css / html / js)可以在同一级别上工作吗,还是必须先串联所有块?如果是这样,是否会使流的缩小完全没有意义?流的关键是您获得了大块数据,但是为了最小化某些内容,您是否不需要完整的整个文件?除了像_transform(chunk)一样使用pipe之外,基本上看起来很酷还会有其他优势吗?

beichenx 回答:通过流通过管道传输的节点缩小器

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3132350.html

大家都在问