11
Sto eseguendo il loop su righe in un file. Devo solo saltare le righe che iniziano con "#". Come faccio?ciclo bash salta righe commentate
#!/bin/sh
while read line; do
if ["$line doesn't start with #"];then
echo "line";
fi
done < /tmp/myfile
Grazie per qualsiasi aiuto!
Si potrebbe anche fare qualcosa di troppo intelligente con 'expr' o suffisso rimozione (ad esempio,' [-z "$ { line %% # *} "]'), ma questi sarebbero ugualmente o meno leggibili rispetto all'opzione "case", credo. – pilcrow
Per eliminare anche le righe in cui lo spazio bianco (solo) precede '#', utilizzare 'grep -v '^ \ s * #' tmp/myfile' invece - questo è in linea con la soluzione' case', dato che 'leggi 'strisce che conducono e trascinano spazi bianchi. – mklement0
Un'altra opzione (se per qualche ragione qualcuno volesse evitare 'grep') potrebbe essere' if [[$ line = ~^#]]; poi continua; fi'. –