GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:controlla se c'è una riga vuota alla fine di un file

Ho trovato la soluzione qui.

#!/bin/bash
x=`tail -n 1 "$1"`
if [ "$x" == "" ]; then
    echo "Newline at end of file!"
else
    echo "No Newline at end of file!"
fi

IMPORTANTE:assicurati di avere il diritto di eseguire e leggere lo script!chmod 555 script

UTILIZZO:

./script text_with_newline        OUTPUT: Newline at end of file!
./script text_without_newline     OUTPUT: No Newline at end of file!

Basta digitare:

cat -e nameofyourfile

Se c'è una nuova riga, terminerà con $ symbol.In caso contrario, terminerà con un % simbolo.


La risposta di Olivier Pirson è più ordinata di quella che ho pubblicato qui originariamente (gestisce correttamente anche i file vuoti). Ho modificato la mia soluzione in modo che corrisponda alla sua.

In bash:

newline_at_eof()
{
    if [[ -s "$1" && -z "$(tail -c 1 "$1")" ]]
    then
        echo "Newline at end of file!"
    else
        echo "No newline at end of file!"
    fi
}

Come uno script di shell che puoi chiamare (incollalo in un file, chmod +x <filename> per renderlo eseguibile):

#!/bin/bash
if [[ -s "$1" && -z "$(tail -c 1 "$1")" ]]
then
    echo "Newline at end of file!"
else
    echo "No newline at end of file!"
fi

Il \Z meta-carattere indica la fine assoluta della stringa.

if (preg_match('#\n\Z#', file_get_contents('foo.txt'))) {
    echo 'New line found at the end';
}

Quindi qui stai guardando una nuova riga alla fine assoluta della stringa. file_get_contents non aggiungerà nulla alla fine. MA caricherà l'intero file in memoria; se il tuo file non è troppo grande, va bene, altrimenti dovrai portare una nuova soluzione al tuo problema.


Linux
  1. Come estrarre il file tar.gz in Linux utilizzando la riga di comando

  2. Come aggiungere una nuova riga alla fine di un file?

  3. Leggi un file orientato alla riga che potrebbe non terminare con una nuova riga?

  4. Linux:perché non è presente alcun file system Rootfs sul sistema?

  5. 4 strumenti per scaricare qualsiasi file utilizzando la riga di comando in Linux

Come controllare l'ortografia dalla riga di comando di Linux con Aspell

Introduzione al file system Linux

Padroneggia la riga di comando di Linux

Visualizza il contenuto di un file nella riga di comando di Linux

Controlla il fuso orario in Linux

5 comandi per visualizzare il contenuto di un file nella riga di comando di Linux