20110628

[Sed] Merubah kata pada kolom tertentu

Sed atau dikenal sebagai Stream Editor adalah alat sederhana yang sangat membantu dalam menulis, khususnya programmer. Singkatnya Sed dapat merubah beberapa kata/huruf/kalimat/angka/apapun secara otomasi dengan beberapa perintah saja, tanpa harus merubah file aslinya, artikel yang ber-prefix-kan [Sed] akan menjelaskan trik sederhana penggunaan Sed.

Asumsikan mempunyai file baca.txt dengan isi:

naga itu memakan naga kecil ini
naga itu memakan naga kecil ini
naga itu memakan naga kecil ini

Kita dapat merubah kata naga yang kedua (setelah kata 'memakan') dengan perintah ini:

sed -e 's/naga/kucing/2' baca.txt > kucing.txt

-e, adalah opsi untuk memasukan ekspresi, dalam contoh ini 's/naga/kucing/2' sebagai ekspresi.
Angka 2 pada string tersebut menandakan, akan mengganti kata 'naga' pada kemunculan kedua, hasil olahan tersebut dimasukan ke file kucing.txt.

Jika ingin mengganti pada baris pertama saja, tinggal tambahkan angka satu:

sed -e '1s/naga/kucing/g' baca.txt > kucing.txt

Kita melihat ada huruf 'g' pada string, ini membuat semua kata 'naga' di baris pertama akan diganti, jika tidak menggunakan 'g' maka hanya kata 'naga' pertama kali bertemu yang akan dirubah.

Jika ingin merubah baris satu dan dua saja, maka gunakan ini:

sed -e '1,2s/naga/kucing/g' baca.txt > kucing.txt

1,2, berarti dari baris satu sampai dua yang akan dirubah.

nb: Masih banyak kekurangan, dan beberapa penjelasan ini tidak Best Practices masih butuh, koreksi dari para ahli :D

20110613

Copy-Paste ke dalam Clipboard pada Vim

Jika terdapat 2 terminal emulator dan masing-masing terminal menggunakan Vim, maka tiap sesi Vim ini berbeda, dan untuk Copy-Paste seperti biasa tidak akan berjalan, gunakan perintah ini untuk menyalinnya ke dalam Clipboard, namun terlebih dahulu pilih bagian yang ingin di salin menggunakan Visual Mode:

"+y

Setelahnya, pindah ke sesi Vim satunya, dan jalankan:

"+p

Maka Vim akan mengambil konten dari Clipboard dan menyalinnya di sesi Vim tersebut.

20110602

[Error] ! Undefined control sequence pada pdftex

Sebenarnya ini sangat memalukan, karena tidak ada yang salah dari sumber dokumen tex berikut:

\documentclass[a4paper,10pt]{article}
\usepackage[bahasa]{babel}

\begin{document}

\section*{C}

\begin{itemize}
 \item[1.] Common Coding Practices
 \item[2.] Indentation and Code Formats
 \item[3.] Clarity and Simplicity
 \item[4.] Elements of Programs
 \item[5.] Basic Programs Structure
 \item[6.] Simple Expressions
 \item[7.] Variables and Storages
 \item[8.] Integers
 \item[9.] printf Function
 \item[10.] Floating Point
 \item[11.] Characters
\end{itemize}

\end{document}

Penggunaan pdftex malah menghasilkan pesan kesalahan seperti ini:

! Undefined control sequence.
l.1 \documentclass
                  [a4paper, 10pt] {article}

Ternyata, salah menggunakan pdftex untuk menghasilkan dengan syntax seperti ini dan solusinya adalah mengganti perintah menjadi pdflatex

:D