Bugün bu problemi FreeBSD kutusuyla karşılaştım. Mesele bunun bir eserdi vi
( bu sorunu yaratıp yaratmayacağından vim
emin değil vim
). Dosya yer kaplıyordu ancak diske tam olarak yazılmamıştı.
Şunlarla kontrol edebilirsiniz:
$ fstat -f /path/to/mount/point |sort -nk8 |tail
Bu, tüm açık dosyalara ve son on maddeyi gösteren -n
8. sütuna (anahtar) göre (sayısal olarak ) sıralar -k8
.
Benim durumumda, son (en büyük) giriş şöyle görünüyordu:
bob vi 12345 4 /var 97267 -rwx------ 1569454080 rw
Bu işlem (PID) 12345, du
fark etmemesine rağmen 1.46G (sekizinci sütun 1024 column ile bölünmüş) kullanıyordu . vi
son derece büyük dosyaları görüntülemek için korkunç; 100 MB bile bunun için büyük. 1.5G (veya bu dosyanın büyüklüğünde olmasına rağmen) çok saçma.
Çözüm ise sudo kill -HUP 12345
(işe yaramadıysa, ben yapardım sudo kill 12345
ve bu da başarısız olursa, korkak kill -9
devreye girerdi).
Büyük dosyalarda metin editörlerinden kaçının. Hızlı kaymağını almak için örnek geçici çözümler:
Makul çizgi uzunlukları varsayarak:
{ head -n1000 big.log; tail -n1000 big.log } |vim -R -
wc -l big.log |awk -v n=2000 'NR==FNR{L=$1;next}FNR%int(L/n)==1' - big.log |vim -R -
Makul olmayan geniş hat (lar) varsayarak:
{ head -c8000 big.log; tail -c8000 big.log } |vim -R -
vim -R
Yerine bu kullanım view
çünkü vim
yüklü olduğunda neredeyse her zaman iyidir. Bunları içine view
veya içine yerleştirmekten çekinmeyin vi -R
.
Gerçekten düzenlemek için çok büyük bir dosyayı açıyorsanız, düşünün sed
veya awk
başka bir programatik yaklaşım kullanın.