Komut Satırıyla Bir Metin Dosyasına Satır Numaralarını Kolayca Ekleyin
Brian soruyor: "Bir metin dosyasına satır numaraları eklemem gerekiyor. Metin düzenleyicideki satır numaralarını kastetmiyorum, bir metin dosyası içindeki her öğenin yanına bir sayı eklemeyi kastediyorum. Bunu otomatikleştirmek mümkün mü yoksa 1, 2, 3 yazarak dosyayı manuel olarak düzenlemem ve delirmem mi gerekiyor?”
Evet, satır numaralarını kolayca bir metin dosyasına kodlayabilirsiniz… size tam olarak nasıl yapılacağını göstereceğiz! Tamamen açık olmak gerekirse, bunun yapacağı şey, metnin her yeni satırının sol tarafına bir sayma satırı numarası eklemek ve her satırın önüne uygun karşılık gelen sayıyı eklemektir.Bu, onu metin dosyasına sabit olarak kodlar; bu, TextWrangler, VIM veya BBEdit gibi bir uygulamada satır numaralarını göstermekten farklı olduğu anlamına gelir.
Başlamak için Terminal'e gidin ve komut satırı isteminde aşağıdakileri yapmak isteyeceksiniz:
Bir Metin Dosyasına Satır Numaraları Eklemek için cat'ı Kullanma
Bu, açık ara en kolay yöntemdir: cat -n dosya > file_new
Basitçe “dosya”yı satır numaralarını eklemek istediğiniz dosya adıyla değiştirin ve “dosya_adı”nı dışa aktarılan adla değiştirin.
'nl' komutunu aşağıda açıklanan şekilde de kullanabilirsiniz:
Nl Komutunu Kullanarak Bir Metin Dosyasına Sabit Çekirdek Satır Numaraları
Yine, “filename” ve “filenamenumbered” ifadelerini, satır numaralarını eklediğiniz dosyanın uygun adıyla değiştirin:
nl -ba -s ': ' dosyaadı > dosyaadınumbered
Hepsi bu kadar! Her iki hileyi de kullanabilirsiniz. Birkaç okuyucu, bir metin dosyasındaki satırları numaralandırmaya daha kolay çözümler sağlamak için yorumlarda bulundu. Yukarıda basitlik sırasına göre listelendiler, ancak aşağıda da bir 'awk' çözümü sunacağız.
-
"awk" komut satırı aracını da kullanabilirsiniz, ancak yukarıda belirtilen yöntemlerden biraz daha karmaşıktır, ilgileniyorsanız Terminal'i başlatın ve gidelim.
Öncelikle, bir şeylerin yanlış gitmesi durumunda (sözdizimi hatası gibi) metin dosyanızı yedeklediğinizden emin olun. Söz konusu metin dosyasının yedeğini aldığınıza göre, satır numaralarını doğrudan içine yazalım:
"awk &39;{printf(%5d : %s\n, NR, $0)}&39; dosyaadı > dosyaadınumaralı "
dosyaadı orijinal dosyadır ve dosyaadınumbered, kendisine eklenmiş satır numaralarıyla awk komutunun çıktısını çağırmak istediğiniz şeydir. Çıktı metin belgenizde artık her bir satır öğesinden önce iki nokta üst üste ile takip edilen bir sayı olacaktır:
1: sözcüklerle satır 2: sözcüklerle satır 3: sözcüklerle satır
Orijinal metin dosyanız değişmemeli, ancak bir sözdizimi hatası yaptıysanız, oluşturduğunuz yedekleme dosyası gününüzü kurtaracaktır. Bu komut, awk desteği olan herhangi bir Unix işletim sisteminde çalışacaktır, bu yüzden bu komutu FreeBSD, Linux, Mac OS X veya aklınıza gelen başka herhangi bir varyantta çalıştırmaktan çekinmeyin.