Tuesday, May 26, 2015

Menggunakan Perintah Cut pada Linux.

Wihartoyo     Tuesday, May 26, 2015    

Perintah cut pada linux adalah perintah yang sering digunakan untuk memenipulasi string maupun file pada shell script maupun sebagai command line. Umumnya perintah cut sebagaimana arti kata cut sendiri adalah melakukan pemotongan terhadap suatu variable string misal:

cut -c [range] [filename]

atau

echo $text | cut -c [range]


Perhatikan contoh berikut:


myuser@linux:~$ echo “ini adalah tulisan” | cut -c 1-4


Maka akan ditampilkan sebagai berikut:


myuser@linux:~$ echo “ini adalah tulisan” | cut -c 1-5
ini a


Dan mari kita akan belajar lebih banyak tentang cut. Untuk tulisan ini, kita cuma perlu mempersiapkan 1 comma delimited text yang berisi sebagai berikut:

NAMA,NAMAPANGGILAN,TPTTGLLHR,AGAMA,ALAMAT
Parto Tumijan,Tumijan,Klampisireng 11-08-1970,Islam,Dukuh Sambilangu Dusun Karanganom
Sastro Mualim,Sastro,Karangklesem 12-12-1967,Islam,Rt 001/Rw 007 Dusun Ngadrejo
Lastri Sasmiyati,Yati,Gombong 11-11-1973,Islam,Gg. Menur No 13 Kalitengah
Sunardi Parto Suwiryo,Wiryo,Klapagada 11-12-1965,Rt.001/Rw 001 Klapagada
Ok, kita mulai.

Menampilkan 1 karakter untuk semua baris tulisan dari employee.txt:

Contoh:

myuser@linux:~$cut -c 1 employee.txt
N
P
S
L
S

Perhatikan, bahwa perintah di atas hanya menampilkan 1 karakter pertama saja dari setiap baris pada employee.txt

Menampilkan karakter dari suatu file pada panjang tertentu dimulai pada character tertentu.

Contoh:


myuser@linux:~$cut -c 2-7 employee.txt
AMA,NA
arto T
astro
astri
unardi


Perhatikan, perintah akan memotong pada setiap bari dari employee.txt untuk setiap baris pada karakter 2 sampai karakter ke 7.


myuser@linux:~$ cut -c 48- employee.txt

slam,Dukuh Sambilangu Dusun Karanganom
lam,Rt 001/Rw 007 Dusun Ngadrejo
Gg. Menur No 13 Kalitengah
5,Rt.001/Rw 001 Klapagada


Contoh di atas menampilkan setiap baris dari employee.txt mulai pada karakter ke 48


myuser@linux:~$ cut -c 11-18 employee.txt
ANGGILAN
jan,Tumi
lim,Sast
miyati,Y
rto Suwi


Contoh di atas menampilkan setiap baris dari employee.txt mulai karakter ke 11 sampai dengan karakter 18.



myuser@linux:~$ cut -c -13 employee.txt
NAMA,NAMAPANG
Parto Tumijan
Sastro Mualim
Lastri Sasmiy
Sunardi Parto


Contoh di atas, meampilkan setiap bari dari employee.txt sampai dengan karakter ke -13.


Manipulasi Delimited Text

Dengan menggunakan comma delimited yang telah kita tentukan di atas, berikut adalah beberapa perintah untuk memanipulasi delimited text.

Syntaxnya adalah:


Cut -d [DELIMITER] -f [RANGE-FIELD] [NAMAFILE]


Sebagai contoh kita akan mengambil field pertama (Nama), dari comma delimited text yang sudah kita tentukan di atas.


myuser@linux:~$ cut -d ',' -f 1 employee.txt
NAMA
Parto Tumijan
Sastro Mualim
Lastri Sasmiyati
Sunardi Parto Suwiryo


Demikian juga bila kita ingin mengambil beberapa field sekaligus, misal nama dan gama (1 dan 4)


myuser@linux:~$ cut -d ',' -f 1,4 employee.txt
NAMA,AGAMA
Parto Tumijan,Islam
Sastro Mualim,Islam
Lastri Sasmiyati,Islam
Sunardi Parto Suwiryo,Buddha


Menampilkan dan Merubah delimiter


myuser@linux:~$ cut -d ',' -f 1-5 --output-delimiter="~" employee.txt
NAMA~NAMAPANGGILAN~TPTTGLLHR~AGAMA~ALAMAT
Parto Tumijan~Tumijan~Klampisireng 11-08-1970~Islam~Dukuh Sambilangu Dusun Karanganom
Sastro Mualim~Sastro~Karangklesem 12-12-1967~Islam~Rt 001/Rw 007 Dusun Ngadrejo
Lastri Sasmiyati~Yati~Gombong 11-11-1973~Islam~Gg. Menur No 13 Kalitengah
Sunardi Parto Suwiryo~Wiryo~Klapagada 11-12-1965~Buddha~Rt.001/Rw 001 Klapagada


Pada contoh di atas, kita mengganti comma (“,”) delimiter dengan tilde (“~”)

Menyembunyikan beberapa kolom tertentu.



myuser@linux:~$ cut -d ',' --complement -f 1,4 employee.txt
NAMAPANGGILAN,TPTTGLLHR,ALAMAT
Tumijan,Klampisireng 11-08-1970,Dukuh Sambilangu Dusun Karanganom
Sastro,Karangklesem 12-12-1967,Rt 001/Rw 007 Dusun Ngadrejo
Yati,Gombong 11-11-1973,Gg. Menur No 13 Kalitengah
Wiryo,Klapagada 11-12-1965,Rt.001/Rw 001 Klapagada


Contoh di atas adalah perintah untuk menampilkan semua kolom kecuali kolom 1 (NAMA) dan kolom 4 (AGAMA).

,

Recommended