arrays - recorrer - Una sola línea mientras la matriz de actualización de bucle
recorrer array javascript (1)
El problema está en estas líneas:
${LFT[$i]}=${line:0:1}; ${RGT[$i]}=$(wc -l < temp$i.txt);
Cambiarlo a:
LFT[$i]=${line:0:1}; RGT[$i]=$(wc -l < temp$i.txt);
La asignación válida en shell debe ser:
var=<expression>
más bien que
$var=<expression> ## this will be interpreted by the shell as a command
Este es uno de los errores comunes que los programadores de Bash hacen. Más trampas de Bash aquí.
Estoy intentando construir un bucle while que actualice los valores en una matriz, pero sigo obteniendo un error de comando no encontrado.
i=1
bool=true
declare -a LFT
declare -a RGT
while read -r line; do
${LFT[$i]}=${line:0:1}; ${RGT[$i]}=$(wc -l < temp$i.txt);
if [ ${LFT[$i]} -ne ${RGT[$i]} ]; then
$bool=false;
fi;
((i=i+1));
done<output2.txt
El archivo del que estoy leyendo contiene un solo dígito en cada línea, y quiero llenar la matriz LFT con cada entrada siendo el dígito. La matriz RGT debe llenarse con los recuentos de línea de los archivos denominados temp * .txt. Y quiero probar para asegurarme de que cada entrada de estas dos matrices sea la misma.
Sin embargo, sigo obteniendo un error: comando = # no encontrado, donde # es cualquier dígito que esté en la línea del archivo. ¿Estoy asignando valores a las matrices incorrectamente? Además, obtengo el error: comando true = false no encontrado. Supongo que esto tiene algo que ver con la asignación de valores al booleano. Gracias