lolos dari satu titik dengan backslash ganda - awk


10

Buku "pemrograman awk yang efektif" memiliki contoh tentang Field-Splitting. berikut adalah contohnya:

Jika Anda ingin bidang dipisahkan oleh periode literal diikuti oleh karakter tunggal apa pun, gunakan ‘FS = "\\.."’.

Mengapa double backslash? bukankah seharusnya begitu \..?

Jawaban:


14

Baik string dan ekspresi reguler dalam awk berbagi banyak dari garis miring terbalik yang sama, termasuk \\untuk satu \. Karena FSnilai string yang ditafsirkan secara internal sebagai ekspresi reguler, pelarian yang dibagikan tersebut harus diloloskan dua kali. Jadi \\dalam string menjadi \pada saat itu ditafsirkan sebagai ekspresi reguler.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.