GNU/Linux >> Belajar Linux >  >> Linux

Linux - periksa apakah ada baris kosong di akhir file

Saya menemukan solusinya di sini.

#!/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

PENTING:Pastikan Anda memiliki hak untuk mengeksekusi dan membaca skrip!chmod 555 script

PENGGUNAAN:

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

Cukup ketik:

cat -e nameofyourfile

Jika ada baris baru maka akan diakhiri dengan $ simbol.Jika tidak, maka akan diakhiri dengan % simbol.


Jawaban Olivier Pirson lebih rapi daripada yang saya posting di sini awalnya (ini juga menangani file kosong dengan benar). Saya mengedit solusi saya untuk mencocokkannya.

Di pesta:

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
}

Sebagai skrip shell yang dapat Anda panggil (tempelkan ke file, chmod +x <filename> untuk membuatnya dapat dieksekusi):

#!/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

\Z meta-karakter berarti akhir absolut dari string.

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

Jadi di sini Anda melihat baris baru di ujung mutlak string. file_get_contents tidak akan menambahkan apa pun di akhir. TETAPI itu akan memuat seluruh file ke dalam memori; jika file Anda tidak terlalu besar, tidak apa-apa, jika tidak, Anda harus membawa solusi baru untuk masalah Anda.


Linux
  1. Bagaimana cara menambahkan baris baru ke akhir file?

  2. Baca File Berorientasi Garis Yang Mungkin Tidak Berakhir Dengan Baris Baru?

  3. Linux – Mengapa Tidak Ada Sistem File Rootfs Di Sistem?

  1. Cara Mengosongkan File Log di Linux

  2. Buat file dengan menggunakan baris perintah di Linux

  3. Linux - grep dari baris tertentu ke akhir file

  1. Periksa status file di Linux dengan perintah stat

  2. Salin dan tempel di baris perintah Linux dengan xclip

  3. Penggunaan lanjutan dari penampil file teks yang lebih sedikit di Linux