Perchéconfrontare le righe vuote in un file Grep
grep -c '^\n' myfile.txt
ritorno 0 quando ci sono righe vuote nel file?
Se c'è una linea vuota, inizia con una nuova linea, giusto?
Per favore correggimi se ho torto.
Perchéconfrontare le righe vuote in un file Grep
grep -c '^\n' myfile.txt
ritorno 0 quando ci sono righe vuote nel file?
Se c'è una linea vuota, inizia con una nuova linea, giusto?
Per favore correggimi se ho torto.
L'espressione regolare per abbinare alla fine della linea è $
, non \n
(poiché grep
funziona una riga alla volta, ignora le nuove righe tra le righe).
grep -c '^$' myfile.txt
grep e contare le righe vuote come questo:
grep -c "^$" myfile.txt
Come \n
è considerato fine della linea è necessario utilizzare linea di partenza e di fine linea "^$"
Grazie !! Ha aiutato. –
Ok. Fatto. Non so che grep ignora le nuove righe tra le righe. Grazie!! –
Per essere precisi, '$' è il carattere RE che corrisponde alla fine di una stringa, non alla fine di una riga. grep capita semplicemente di trattare ogni riga di input come una stringa separata, quindi con grep ogni fine di stringa ('$') si verifica dove finisce la linea ma altri strumenti si comportano diversamente. '$' indica sempre 'la fine della stringa 'in tutti gli strumenti. –
@EdMorton In contesti in cui non possono esserci più righe, EOL ed EOS sono equivalenti. Qualunque cosa che elabora solo una riga alla volta è quel contesto. – Barmar