2 Nisan 2019 Salı

tail komutu

-c seçeneği
Açıklaması şöyle
-c, --bytes = [+] NUM
output the last NUM bytes; or use -c +NUM to output starting with byte NUM of each file
Örnek
Dosyanın sonunu okumak için eksi bir sayı veririz. Şöyle yaparız.En son byte'ı oku anlamına gelir.
tail -c1 myfile.txt
Örnek
Dosyanın başından itibaren belli bir byte sayısın atlayıp gerisini okumak için artı bir sayı veririz. Şöyle yaparız. İkinci byte'tan itibaren oku anlamına gelir.
tail -c+2 myfile.txt
Eğer sayı olarak +1 verirsek tüm dosyayı okur. Çünkü 1. byte'tan itibaren oku anlamına gelir. Yani cat komutu ile aynı kapıya çıkar.
Örnek
Dosyamızda başta 26 byte'lık bir header sonda iki 2 byte'lı bir footer olsun. İlk 26 byte'ı ve en son iki byte'ı atlamak için şöyle yaparız.
tail -c +26 file | head -c -2
-f seçeneği
inotify_init ile dosya gözetlenmeye başlanır.Dosya değişince gerektiği kadarını okur. inotify çağrısı şöyle görülebilir.
fstat(3, {st_mode=S_IFREG|0644, st_size=139, ...}) = 0
fstatfs(3, {...}) = 0
inotify_init()                    = 4
inotify_add_watch(4, "/path/to/file", ...)
fstat(3, {st_mode=S_IFREG|0644, st_size=139, ...}) = 0
read(4, 0xd981c0, 26)             = -1 EINTR (Interrupted system call)
Şöyle yaparız
$ tail -f /myfile
-n seçeneği
İki kullanımı var
1. Sondan kaçıncı satırı görmek istediğimizi belirtir. 
2. Kaçıncı satırdan başlamak istediğimizi belirtir
Açıklaması şöyle.
-n, --lines=[+]NUM            output the last NUM lines, instead of the last 10;
                              or use -n +NUM to output starting with line NUM
Örnek - Son 2 Satır
Şöyle yaparız.
tail -n 2 poem | head -n 1
Örnek - İlk satırdan başla
Şöyle yaparız.
tail -n +0 -f some/file | awk ...
Örnek - İkinci satırdan başla
Açıklaması şöyle
tail -n+2 select all but the first row.

Hiç yorum yok:

Yorum Gönder