Saya memiliki angka di [.] Yang menunjukkan nomor halaman dari dokumen cetakan asli yang saya transkrip. Namun, dokumen tersebut juga berisi nomor lain dalam [.] Yang tidak sesuai dengan nomor halaman.
Sebagai contoh:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Jangan diam Lektus. Sed sit amet ipsum mauris. Maecenas membuat persetujuan ligula ac quam viverra nec consectetur ante hendrerit. Donec et mollis dolor. Sangat menyenangkan dan sangat mudah untuk membuat Anda lebih baik. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies non tortor. Lorem ipsum dolor duduk amet, consipetur adipiscing [267] elit. Aenean ut gravida lorem. Ut turpis Ini adalah cara terbaik, adipiscing id dolor. Puctoresque auctor nisi id magna konsekuensi sagittis. Curabitur dapibus enim sit amet elit pharetra tincidunt feugiat nisl imperdiet. Ut convallis libero di urna ultrices accumsan. Jangan pernah melakukan kesalahan. Jangan lupa coba pulvinar di malesuada arcu rhoncus. Dengan sosious natoque penatibus et Magis dis parturient montes, nascetur ridiculus mus. Dalam rutrum ultricies akumum. Mauris vitae nisi at sem facilisis semper ac in Est.
Vivamus fermentum semper porta. Tidak, hanya diam, adipiscing ut tristique vitae, sagittis vel odio. Maecenas convallis ullamcorper ultricies. Curabitur ornare, ligula semper consectetur sagittis, nisi diam iaculis velit, id [1] fringilla sem nunc vel mi. Nam diktum, odio nec dengan volume tinggi, tanpa placerat erat, non tristique elit urna et turpis. Dengan cepat, klik pada "amand fermentum et, tincidunt et." orci. Fusce eve orci a orci congue vestibulum. Ut dolor diam, dengan elemen lain, seperti portiritor atau elit. Curabitur venenatis pulvinar tellus gravida ornare. Sed et erat faucibus nunc euismod ultricies ut id justo. Nullam cursus suscipit nisi, dan ultrices justo sodales nec. Lengkapi venenatis facilisis lectus ac semper. Aliquam di massa ipsum. Quisque bibendum purus [2] convallis nulla ultrices ultricies. Nullam aliku, mi eu aliku, tincidunt, purus velit laoreet tortor, viverra pretium nisi quam vitae mi. Fusce vel volutpat elit. Nam sagittis nisi dui.
Suspendisse lectus leo, consectetur di tempor sit amet, placerat quis Neque. Etiam luctus porttitor [1] lorem, dan suscipit est rutrum non. Curabitur lobortis nisl a enim congue semper. Ultriene komodo Aenean imperdiet. [3] Vestibulum dan just sapi vel venenatis tincidunt. Phasellus bahkan lupa duduk di atas ipsum dapibus condimentum vitae quis Lektus. Semua dalam massa di turpis dapibus convallis. Elit terpuji lacus, vestibulum di malesuada et, ornare et est. Ut augue nunc, Tidak ada yang salah, tidak ada tambahan orci. Mauris dan placerat justo. Mauris dalam ultricies enim. Tidak ada balasan untuk nulla ultrices egestas quis ut quam. Donec sollicitudin lectus a mauris pulvinar id aliquam urna cursus. Baca lebih lanjut tentang ini, atau elementum mi Phasellus non ullamcorper urna. [24]
Kelas yang terkait dengan organisasi ini tersedia untuk setiap konferensi, per himenaeos inceptos. Dalam euismod ultrices facilisis. Vestibulum porta sapien adipiscing augue congue id pretium lectus molestie. Proin quis dictum nisl. Muat dari id sapi, dengan vestibulum sem. Duis elemen rutrum mauris sed convallis. Lihat di luar magna mi. Aenean tristique hendrerit magna, [5] ac facilisis nulla hendrerit ut. Sed sodales non tortor sam auctor elementum. Donec hendrerit nunc eget elit pharetra pulvinar. Suspendisse id tempus tortor. Aenean luctus, elit komodo laoreetomodo, justo nisi konsekuensiat massa, sed vulputate quam urna quis eros. Donec vel.
Saya ingin mengganti secara berurutan semua [.] Itu adalah nomor halaman dengan, di TeX, \marginpar{[.]}
, tetapi abaikan angka yang tidak berurutan.
Jadi saya ingin sed
atau emacs
atau utilitas lain yang serupa dengan, untuk contoh di atas, apa yang saya buat tebal di sini:
[267] [1] [2] [1] [3] [24] [5] ...
Jadi, saya hanya ingin mencocokkan apa yang ada dalam urutan angka.
Bagaimana saya bisa melakukan ini?
[24]
datang dalam urutan numerik setelah[3]
, tetapi tujuannya bukan untuk mencocokkan[24]
tapi untuk mencocokkan[5]
, Yang juga datang setelah[3]
dan juga tidak segera setelahnya[3]
? Apa perbedaan yang bisa ditoleransi untuk pertandingan? Jika selisih 2 adalah OK, apakah selisih 3 juga OK?awk
bisa melakukan apa yang saya cari.Jawaban:
awk
pasti bisa melakukan ini. Misalnya skripsubpar.awk
:... dapat memproses teks contoh sebagai
awk -f subpar.awk 2 <lorem.txt
, dimana parameternya2
adalah perbedaan maksimum yang diijinkan dalam urutan.sub()
mengembalikan jumlah penggantian yang dibuat (0 atau 1) jadicount
hanya bertambah jika dilakukan substitusi. Kode ini berkaitan dengan kasus di mana ada lebih dari satu substitusi yang harus dilakukan pada suatu baris.sumber
2
cukup. Satu-satunya alasan untuk membuatnya lebih besar adalah jika ada kesenjangan asli yang jauh lebih besar dalam urutannya, yang tampaknya tidak mungkin dalam konteksnya. Seberapa besar Anda harus membuatnya dan bagaimana urutan angka yang dikurung dalam kasus itu?awk -f subpar.awk 2 <lorem.txt
, tetapi karena alasan tertentu hanya cocok dengan selusin pertama dan tidak cocok dengan yang lainnya. Saya harus meningkatkannya menjadi sekitar 23 sebelum cocok dengan segalanya, sampai akhir.while (i <= count+maxgap) {
:print "Searching for [" i "]"
, yang akan memberi tahu Anda dengan tepat nomor halaman yang dicari skrip pada saat tertentu. Kemudian Anda dapat membandingkan teks yang dicari (tetapi tidak ditemukan) dengan teks yang Anda harapkan akan ditemukan di paragraf berikut dan lihat apakah ada perbedaan.