Selasa, 27 Oktober 2015

Pemrosesan String di Linux

Beberapa perintah Linux dapat digunakan untuk melakukan pemrosesan file teks seperti manipulasi file, pengurutan dan pencarian file dan string.
1. wc - word count
Fungsi : menghitung jumlah baris, kata dan karakter dalam suatu file
Sintaks : wc [-lwc] file
Keterangan :
-l : line/baris
-w : word/kata
-c : character/karakter

Contoh :
1. Menampilkan jumlah baris, kata dan karakter dari file    latih
$ wc latih
24 133 861 latih

2. Menampilkan jumlah baris dari file latih
$ wc -l latih
24 latih







2. cut
Fungsi : mengambil bagian tertentu dari suatu file dan menampilkannya ke layar
Sintaks : cut [-dchar] [-fc] file
Keterangan :
-d : delimeter/pemisah antar field/kolom, digunakan jika menggunakan option -f
Default = TABULASI
-f : field/kolom
-c : character/karakter

Contoh :
1. Menampilkan field pertama dan ketiga dari file    /etc/passwd
$ cut -d: -f1,3 /etc/passwd
2. Menampilkan karakter ke-1 sampai dengan ke-8 dan karakter ke-25 sampai dengan ke-27 dari file /etc/passwd
$ cut -c1-8,25-27 /etc/passwd
3. Menampilkan karakter ke-12 sampai dengan ke-16 dari hasil keluaran perintah date
$ date | cut -c12-16

3. head
Fungsi : menampilkan n baris pertama isi suatu file
Sintaks: head [-n] file
Keterangan :
-n : jumlah baris yang akan ditampilkan
Default = 10


Contoh :
1. Menampilkan 10 baris pertama file /etc/passwd
$ head /etc/passwd
2. Menampilkan 5 baris pertama file /etc/passwd
$ head -5 /etc/passwd

4. tail
Fungsi : menampilkan n baris terakhir isi suatu file
Sintaks: tail [-n] file
Keterangan :
-n : jumlah baris yang akan ditampilkan
Default = 10

Contoh :
1. Menampilkan 10 baris terakhir file /etc/passwd
$ tail /etc/passwd
2. Menampilkan 5 baris terakhir file /etc/passwd
$ tail -5 /etc/passwd
3. Menampilkan mulai dari baris ke 5 sampai baris terakhir file /etc/passwd
$ tail +5 /etc/passwd

5. sort
Fungsi : mengurutkan isi suatu file berdasarkan key tertentu
Sintaks : sort [-tchar] [+key] [-r] file
Keterangan :
-tchar : delimeter/karakter pemisah antar field/kolom
+key : nomor kolom sebagai key pengurutan, dimulai dari nol
-r : reverse - mengurutkan secara descending


Contoh :
1. Mengurutkan isi file /etc/passwd berdasarkan kolom ke-1 secara ascending
$ sort /etc/passwd
2. Mengurutkan isi file /etc/passwd berdasarkan kolom ke-4 secara ascending
$ sort -t: +3 /etc/passwd
3. Mengurutkan isi file /etc/passwd berdasarkan kolom ke-4 secara descending
$ sort -t: +3 -r /etc/passwd

6. uniq
Fungsi : menghilangkan duplikasi data, syarat : data harus terurut
Sintaks : uniq file

Contoh :
$ cat > juice
apel
apel
melon
jeruk
apel
melon
[Ctrl]+[D]
$ uniq juice
apel
melon
jeruk
apel
melon
$ sort juice | uniq
apel
jeruk
melon

7. tr
Fungsi : untuk mengubah suatu karakter menjadi karakter lain
Sintaks : tr "string1" "string2"

Contoh :
1. Mengubah semua karakter 1 menjadi G, 3 menjadi &, dan s menjadi n$
tr "13s" "G&n" <>
2. Mengubah semua huruf kecil menjadi huruf besar
$ tr "[a-z]" "[A-Z]" <>
$ cat latih | tr "[a-z]" "[A-Z]"

8. grep
Fungsi : mencari string di dalam suatu file
Sintaks : grep [-pilihan] string file
Keterangan :
Pilihan yang sering digunakan :
-q : tidak menampilkan hasil keluaran ke layar
-v : menampilkan baris string yang tidak cocok



Contoh :
1. Menampilkan baris yang ada string Linux di file latih
$ grep Linux latih
2. Menampilkan seluruh file di current directory yang mempunyai string linux
$ grep linux *
3. Menampilkan baris yang tidak mempunyai string Linux di file latih
$ grep -v Linux latih

9. find
Fungsi : mencari file dengan kriteria tertentu
Sintaks : find nama_path -pilihan
Keterangan :
nama_path = direktori awal pencarian
Pilihan yang sering digunakan :
- name nama_file : cari file dengan nama nama_file
- user owner : cari file dengan pemilik owner
- type tipe_file : cari file dengan tipe tipe_file   (f=file,d=direktori,dll)
- perm : cari file dengan ijin akses=permission dalam format angka permission
- size kap_size : cari file dengan kapasitas = kap_size
- ok perintah : eksekusi perintah dengan konfirmasi
- exec perintah : eksekusi perintah tanpa konfirmasi






Contoh :
1. Mencari file dengan nama latih mulai dari current directory ke bawah
$ find . -name latih
2. Mencari file yang dimiliki oleh user dudi mulai dari direktori / ke bawah
$ find / -user dudi
3. Mencari seluruh file dengan tipe direktori mulai dari direktori /home/dudi ke bawah
$ find /home/dudi -type d
4. Mencari seluruh file yang bernama core kemudian dihapus dengan konfirmasi mulai dari current directory ke bawah
$ find . -name core -ok rm {} 

EDITOR TEKS VI

Cara Menggunakan Editor Vi pada Terminal Linux Vi
Salah satu Text Editor yang biasanya menjadi default text editor pada banyak distro Linux, jadi berikut cara menggunakan VI yang benar. 
STARTING vi 

1.vi filename edit a file named "filename" 
2.vi newfile create a new file named "newfile" 


ENTERING TEXT

i : insert text left of cursor 
a : append text right of cursor 

MOVING THE CURSOR

h : left one space 
j : down one line 
k : up one line 
l : right one space 


BASIC EDITING 

x  : delete character 
nx : delete n characters 
X  : delete character before cursor 
dw : delete word 
ndw: delete n words 
dd : delete line 
ndd: delete n lines 
D  : delete characters from cursor to end of line 
r  : replace character under cursor
cw : replace a word 
ncw: replace n words 
C  : change text from cursor to end of line 
o  : insert blank line below cursor 
     (ready for insertion) 
J  : join succeeding line to current cursor line 
nJ : join n succeeding lines to current cursor line 
u  : undo last change 
U  : restore current line


MOVING AROUND IN A FILE

w : forward word by word 
b : backward word by word 
$ : to end of line 
0 : (zero) to beginning of line 
H : to top line of screen 
M : to middle line of screen 
L : to last line of screen 
G : to last line of file 
1G: to first line of file 


Editor Teks vi

Pada   suatu sistem operasi editor teks mempunyai peranan yang cukup penting diantaranya digunakan untuk mengedit file konfigurasi, membuat dokumentasi dan membuat program. vi merupakan editor teks standar yang digunakan di lingkungan Linux dan Unix.

Memulai vi
Untuk memulai vi ketikkan salah satu perintah berikut :
$ vi
: Memulai vi tanpa membuka file
$ vi nama_file
: Memulai vi dengan membuka file nama_file
$ vi -r nama_file
: Memulai vi dengan membuka filerecoversetelah terjadi crash

Modus Operasi
Modus operasi pada editor vi terdiri dari dua macam, yaitu :
1. Modus instruksi
Pada modus ini setiap tombol yang ditekan akan diterjemahkan sebagai suatu perintah.Untuk masuk ke modus ini tekan tombol [Esc].
2. Modus edit
Digunakan pada waktu penulisan teks. Untuk masuk ke modus ini tekan salah satu tombol : i, I, a, A, o atau O.

Pergerakan Kursor
Untuk menggerakkan kursor selain menggunakan tombol panah juga dapat menggunakan perintah-perintah sebagai berikut :
h
Digunakan untuk menggerakkan kursor ke kiri.
j
Digunakan untuk menggerakkan kursor ke bawah.
k
Digunakan untuk menggerakkan kursor ke atas.
l
Digunakan untuk menggerakkan kursor ke kanan.

Menyisipkan Teks
Pada waktu pertama kali membuka sebuah file, maka anda akan berada pada modus instruksi. Untuk memasuki modus edit dapat menggunakan tombol-tombol sebagai berikut :
i
Digunakan untuk menyisipkan teks mulai dari posisi kursor.
I
Digunakan untuk menyisipkan teks di awal baris.
a
Digunakan untuk menyambung teks setelah posisi kursor.
A
Digunakan untuk menyambung teks pada akhir baris.
o
Digunakan untuk menyisipkan baris kosong di bawah posisi kursor.
O
Digunakan untuk menyisipkan baris kosong pada posisi kursor.


Menghapus Teks

nx
Menghapus dan karakter mulai dari posisi kursor. Fungsinya sama dengan tombol [Del].
nX
Menghapus dan karakter di sebelah kiri kursor. Fungsinya sama dengan tombol [Backspace].
ndw
: Menghapus sebanyak n kata dari posisi kursor.
ndd
: Menghapus sebanyak n baris dari posisi kursor.

Menyimpan File dan Keluar dari vi.
Untuk menyimpan file dapat digunakan perintah-perintah sebagai berikut :
:w
Digunakan untuk menyimpan file.
:w!
Digunakan untuk menyimpan file walaupun filenya sudah ada.
:wq
Digunakan untuk menyimpan file lalu keluar dari vi.
: x
Digunakan untuk menyimpan file lalu keluar dari vi.
:q!
Digunakan untuk keluar dari vi tanpa menyimpan file.


Copy, Cut, Paste
Untuk melakukan cut & paste atau copy & paste, anda dapat melakukannya dengan perintah berikut:
nyy
Digunakan untuk menyalin n baris pada posisi kursor ke buffer.
nyw
Digunakan untuk menyalin n kata pada posisi kursor ke buffer.
P
Digunakan untuk menyalin data yang ada di buffer (termasuk teks yang baru dihapus dengan menggunakan perintah x, dw, dan dd) pada posisi kursor.
p
: Digunakan untuk menyalin data yang ada di buffer (termasuk teks yang baru dihapus dengan menggunakan perintah x, dw, dan dd) setelah posisi kursor.


Penggantian Teks
Untuk mengganti teks anda dapat menggunakan perintah-perintah sebagai berikut:
r
Digunakan untuk mengganti karakter pada posisi kursor.
R
Digunakan untuk mengganti karakter pada posisi kursor sampai tombol [Esc] ditekan.
ncw
Digunakan untuk mengganti teks per kata.
ncc
Digunakan untuk mengganti teks per baris.


Membatalkan perintah sebelumnya – undo
Setelah melakukan perintah pada modus instruksi anda dapat membatalkannya dengan menekan tombol:
u
Digunakan untuk membatalkan satu perintah yang telah kita lakukan sebelumnya.
2u
Digunakan untuk membatalkan dua perintah yang telah kita lakukan sebelumnya.


Membuka dokumen lain sewaktu mengedit file
Untuk membuka dokumen lain pada waktu anda mengedit suatu dokumen dapat menggunakan perintah (hanya dapat membuka satu dokumen):
:e nama_file
Digunakan untuk membuka file nama_filesewaktu sedang mengedit dokumen lain (hanya dapat digunakan jika file yang anda edit telah di simpan).
:e! nama_file
Digunakan untuk membuka filenama_filesewaktu sedang mengedit dokumen lain tanpa menyimpan perubahan yang anda lakukan.

Keluar sementara dari vi dan mengeksekusi perintah
Pada waktu mengedit dokumen,anda dapat melakukan beberapa perintah Linux yang lain dengan menggunakan perintah sebagai berikut:
:!bash
Digunakan untuk keluar sementara dari vi ke shell, lalu kembali ke vi dengan mengetikkan exit.
:!ls
Digunakan untuk keluar sementara dari vi, mengeksekusi perintah ls dan kembali ke vi.