GNU/Linux >> Belajar Linux >  >> Linux

Ganti kutipan pintar dengan perintah sed Linux

Dalam tipografi, sepasang tanda kutip secara tradisional berorientasi satu sama lain. Mereka terlihat seperti ini:

“kutipan pintar”

Ketika komputer menjadi populer di pertengahan abad kedua puluh, orientasinya sering ditinggalkan. Kumpulan karakter asli komputer tidak memiliki banyak ruang kosong, jadi masuk akal jika dua tanda kutip ganda dan dua tanda kutip tunggal dikurangi menjadi hanya satu untuk masing-masing dalam spesifikasi ASCII. Saat ini kumpulan karakter yang umum adalah Unicode, dengan banyak ruang untuk banyak tanda kutip dan apostrof yang mewah, tetapi banyak orang telah terbiasa dengan minimalis hanya satu karakter untuk tanda kutip pembuka dan penutup. Selain itu, komputer sebenarnya melihat berbagai jenis tanda kutip dan apostrof sebagai karakter yang berbeda. Dengan kata lain, bagi seorang komputer, tanda kutip ganda kanan berbeda dengan tanda kutip ganda kiri atau tanda kutip lurus.

Lebih banyak sumber daya Linux

  • Lembar contekan perintah Linux
  • Lembar contekan perintah Linux tingkat lanjut
  • Kursus online gratis:Ikhtisar Teknis RHEL
  • Lembar contekan jaringan Linux
  • Lembar contekan SELinux
  • Lembar contekan perintah umum Linux
  • Apa itu container Linux?
  • Artikel Linux terbaru kami

Mengganti kutipan pintar dengan sed

Komputer bukan mesin ketik. Saat Anda menekan tombol pada keyboard Anda, Anda tidak menekan tuas dengan stempel tinta yang melekat padanya. Anda hanya menekan tombol yang mengirimkan sinyal ke komputer Anda, yang ditafsirkan komputer sebagai permintaan untuk menampilkan karakter tertentu yang telah ditentukan sebelumnya. Permintaan tergantung pada peta keyboard Anda. Sebagai juru ketik Dvorak, saya telah menyaksikan kebingungan di wajah orang-orang ketika mereka menemukan "asdf" di keyboard saya menghasilkan "aoeu" di layar. Anda mungkin juga menekan kombinasi tombol khusus untuk menghasilkan karakter, seperti ™ atau atau , yang bahkan tidak tercetak di keyboard Anda.

Setiap huruf atau karakter, apakah itu tercetak di keyboard Anda atau tidak, memiliki kode. Pengkodean karakter dapat diekspresikan dengan cara yang berbeda, tetapi ke komputer urutan Unicode u2018 dan u2019 menghasilkan dan , sedangkan kode u201c dan u201d menghasilkan dan karakter. Mengetahui kode "rahasia" ini berarti Anda dapat menggantinya secara terprogram menggunakan perintah seperti sed. Versi sed apa pun dapat digunakan, jadi Anda dapat menggunakan GNU sed atau BSD sed atau bahkan Busybox sed.

Berikut skrip shell sederhana yang saya gunakan:

#!/bin/sh
# GNU All-Permissive License

SDQUO=$(echo -ne '\u2018\u2019')
RDQUO=$(echo -ne '\u201C\u201D')
$SED -i -e "s/[$SDQUO]/\'/g" -e "s/[$RDQUO]/\"/g" "${1}"

Simpan skrip ini sebagai fixquotes.sh lalu buat file pengujian terpisah yang berisi kutipan cerdas:

‘Single quote’
“Double quote”

Jalankan scriptnya, lalu gunakan perintah cat untuk melihat hasilnya:

$ sh ./fixquotes.sh test.txt
$ cat test.txt
'Single quote'
"Double quote"

Instal sed

Jika Anda menggunakan Linux, BSD, atau macOS, maka Anda sudah memiliki sed GNU atau BSD diinstal. Ini adalah dua implementasi ulang unik dari sed original asli perintah, dan untuk skrip dalam artikel ini secara fungsional sama (namun, itu tidak berlaku untuk semua skrip).

Di Windows, Anda dapat menginstal GNU sed dengan Cokelat.


Linux
  1. Periksa status file di Linux dengan perintah stat

  2. Jadwalkan tugas dengan Linux pada perintah

  3. Cara menggunakan perintah sed Linux

  1. Menjadwalkan tugas dengan perintah cron Linux

  2. Kuasai perintah Linux ls

  3. Perintah Sed Linux:Penggunaan dan Contoh

  1. Diagnosis masalah konektivitas dengan perintah ping Linux

  2. Tonton perintah dan tugas dengan perintah jam tangan Linux

  3. Ganti kutipan pintar dengan perintah sed Linux