La condizione che hai scritto è sintatticamente errata (vi sono 3 doppia apici), inoltre per valutare le espressioni non vanno bene i doppi apici, devi utilizzare $() oppure i backquotes.
Quote:
|
l'output di un comando come cat ,find o ls (e simili) quando effettuo la ridirezione dello stdout con la pipe è processato tutto in una volta (dopo che è finito di essere prodotto ) , o solo una riga alla volta ?
|
Non è importante come viene prodotto l'output, ma come viene elaborato l'input. La maggior parte dei comandi elabora l'input una riga per volta, ma vi sono anche comandi che raggruppano più o meno righe prima di elaborarle.
Tornando al tuo script vi è un altro problema di fondo: anche se i comandi processano ogni riga del file, l'operatore di confronto non viene applicato ad ogni riga.