Diyelim ki sadece üçüncü satır df -hçıktı almak istiyorum .
Ne tür bir komut kullanmalıyım?
Diyelim ki sadece üçüncü satır df -hçıktı almak istiyorum .
Ne tür bir komut kullanmalıyım?
Yanıtlar:
dfKomut aslında istediğiniz dosya sistemini tanımlayan bir argüman kabul eder. Yani örneğin, kullanın olabilir df /homeveya df /dev/sda3.
Bir komut dosyasının çıktısını ayrıştırmak istiyorsanız, df -Pasla birden fazla satıra sarılmamasını sağlamak için kullanmak istersiniz . Örneğin, kullanabilirsiniz df -Ph /home | tail -n +2(ancak bir komut dosyası için çıktıyı ayrıştırıyorsanız, içinde boşluk bulunan dosya adlarının bulunma olasılığının farkında olun)
df /home. Kullanıcının amacını yorumluyorsunuz. Haklı olabilirsin. Yanılıyor olabilirsiniz, kim bilir?
tail -n +2başlığı kaldırır.
Sen bir arada kullanabilir headve tail:
df -h | head -3 | tail -1
Veya
df -h | tail -n +3 | head -1
Ancak df, çıktıyı dfkendi seçeneklerinden filtrelemeye izin verdiğini, herhangi bir harici komutu kullanmadan önce bunlara bakmanız gerektiğini unutmayın.
Kontrol edin man df.
Awk metin işleme aracıdır, bu nedenle bu görev için uygundur
df -h | awk 'NR == 3'
Mutlaka üçüncü satırı değil, belirli bir diski (örneğin /dev/sda3) veya belirli bir bağlama noktasını (örn /home.
Bu nedenle, çıktı sırasının değişebileceği ve farklı bir sonuç alabileceğiniz için güvenli olmayan üçüncü satırı görüntülemek yerine, çıktıyı içeriğe göre filtreleyebilir ve yalnızca belirli bir kalıpla eşleşen veya bir anahtar kelime içeren satırları gösterebilirsiniz.
Bunun için aracınız grep.
Örneğin /dev/sda3, aygıtla ilgili satırı istiyorsanız, şunu yazın:
df -h | grep '/dev/sda3'
Giriş dizininizden bahseden satırın bağlama noktası olmasını istiyorsanız, şunu kullanın:
df -h | grep '/home'
df -h /dev/sda3veya df -h /home(ikincisi bir bağlama noktası olmasa bile çalışır).
Ayrıca perlşunları kullanabilirsiniz :
df -h | perl -ne 'print if $.==3'
$.Birlikte N. hattını yazdırmak böylece, geçerli satır numarasıdır perl -ne 'print if $.==N'.
İlk fikrim baş-kuyruk-yapı olurdu.
Misal:
df -h | head -3 | tail -1
head -3çıktının üç satırdan sonra durmasına neden olur ve tail -1yalnızca son satırın çıktısını alır.
Alternatif olarak, çıktının nasıl görüneceğini biliyorsanız, grepbelirli bir dize içeren satırları bulmak için de kullanabilirsiniz .