|

Fungsi dan Contoh penggunaan perintah cut di linux terminal

Perintah cut adalah utilitas command line yang berfungsi memotong baris dari data teks dari file, stdin seperti piped dan dijadikan standard out put (stdout). Fungsi dasarnya dalah memotong dengan delimiter, posisi byte, field dan karakter.

Perintah cut memiliki struktur perintah dan opsi sebagai berikut :

 cut OPTION... [FILE]...
OpsiDeskripsi
-b, --bytes=LISTPilih dengan menentukan byte, seperangkat byte, atau rentang byte.
-c, --characters=LISTPilih dengan menentukan karakter, serangkaian karakter, atau rentang karakter.
-f, --fields=LIST Pilih dengan menentukan field (bidang), kumpulan field, atau rentang field. Ini adalah opsi yang paling umum digunakan.
-d, --delimiter=DELIM Tentukan delimiter (pembatas) yang akan digunakan sebagai pengganti pembatas default adalah “TAB”.
--output-delimiter=STRINGStandarnya adalah menggunakan pembatas input sebagai pembatas output. Opsi ini memungkinkan Anda untuk menentukan string pembatas output yang berbeda.
--complement melengkapi pilihan. Saat menggunakan opsi ini, cut akan menampilkan semua byte, karakter atau bidang kecuali yang dipilih.

Argumen LIST yang diteruskan ke opsi -f, -b, dan -c bisa berupa bilangan bulat, beberapa bilangan bulat yang dipisahkan oleh koma, rentang bilangan bulat, atau beberapa rentang bilangan bulat yang dipisahkan oleh koma. Setiap rentang dapat berupa salah satu dari yang berikut:

  • N atau bidang N, byte atau karakter, mulai dari 1.
  • N- dari bidang N, byte atau karakter, hingga akhir baris.
  • N-M dari bidang N ke M, dapat berupa byte, atau karakter.
  • -M dari yang pertama ke bidang M, dapat berupa byte atau karakter.

Data berikut digunakan utuk uji coba.

Cut menggunakan posisi Field
Apel|green      4       $5:$20
Pisang|yellow   6       $2:$12
Rasberi|red     99      $1:$99
Anggur|purple   10      $5:$50

Field sendiri adalah kolom data yang di pisahkan oleh delimiter. 1 baris data teks bisa terbagi menjadi beberapa kolom.

Contoh pertama ini menampilkan data field ke-1 dari setiap baris.

# cut -f 1 data.txt
perintah cut field

Contoh berikutnya menampilkan data dari field ke-1 dan ke-3.

# cut -f 1,3 data.txt
perintah cut field

Contoh selanjutnya menampilkan data dari field 1 sampai ke-3.

cut -f 1-3 data.txt
perintah cut field

Dari contoh-contoh diatas, space tidak di hitung sebagai karakter dan bukan delimiter, whitespace tab /t yang menjadi delimiter default.

Cut menggunakan posisi Karakter.

Perintqh cut dapat memotong karakter dari posisi karater pada baris data.

Berikut ini contoh memotong karakter dari urutan ke 6 dan seteruanya pada setiap baris data.

#  cut -c 6- data.txt
[root@alma8 coba]# cut -c 6- data.txt
green   4       $5:$20
g|yellow        6       $2:$12
ri|red  99      $1:$99
r|purple        10      $5:$50

Dari output yang ditampilkan diatas proses pemotongan delimiter default tetap di hitung dapam urutan karakter.

Cut menggunakan posisi Byte

Penggunaan byte -b memiliki hamnpir sama hasil dengan karakter -c, tapi akan ada perbedaan yang bisa dilihat dari contoh berikut yang mencetak hasil pootng dari byte 6 dan seterusnya dari data file data.txt.

# cut -b 6- data.txt
[root@alma8 coba]# cut -b 6- data.txt
green   4       $5:$20
g|yellow        6       $2:$12
ri|red  99      $1:$99
r|purple        10      $5:$50

sekilas penggunaan menggunakan opsi byte ini akan sama dengan karakter, tapi ketika berhadapan dengan multibyte karakter seperti dibawah akan terliat hasilnya.

[root@alma8 coba]# echo Ăpel | cut -b 1
▒
[root@alma8 coba]# echo Ăpel | cut -b 1-2
Ă

[root@alma8 coba]# echo Ăpel | cut -c 1
Ă

untuk mendapatkan karakter Ă menggunakan byte di perlukan 2 byte. Sedangkan karakter terhitung 1 karakter.

Cut menggunakan Delimiter

Penggunaan Delimiter ini untuk merubah pembatas field yang defaultnya adalah whitespace /t. Pada contoh berikut ini merubah Delimiter menjadi karakter | dan mencetak field 1 dan field 2.

# cut -d "|" -f 1 data.txt
# cut -d "|" -f 2 data.txt
perintah cut field delimiter

Hasilnya terbagi menjadi 2 field dimana field ke-1 adalah data sebelum karakter | dan field ke-2 data setelahnya, pebrdaan bisa dibandingkan dengan hasil field 1 pada contoh sebelumnya.

Contoh lainnya dimana hasil dari delimiter membagi menjadi 3 field dari 1 field data.

# echo "apel|pisang|melon" | cut -d "|" -f 2
[root@alma8 coba]# echo "apel|pisang|melon" | cut -f 1
apel|pisang|melon
[root@alma8 coba]# echo "apel|pisang|melon" | cut -d "|" -f 2
pisang

Hasil cetak field ke-2 adalah pisang dari data awal yang merupakan 1 field.

Merubah Delimiter saat dicetak stdout

Delimiter bisa dirubah saat dicetak, misal dalam hal ini melanjutkan contoh sebelumnya data “apel|pisang|melon” menggunakan delimtier karakter |, saat dicetak diubah menjadi karakter -

# echo "apel|pisang|melon" | cut -d "|" -f 1-3  --output-delimiter="-"
perintah cut merubah delimiter
Pada Penggunaan Harian Cut Biasa digunakan Seperti Contoh Berikut

Ingin mendapatkan info detail database dari file wp-config.php

[root@alma8 wordpress]# grep DB_ wp-config.php | cut -d "'" -f 4
wp_main
wp_muse
pcvb8yu
localhost
utf8

Kombinasi dengan perintah grep mendapatkan hasil stdin yang spesifik yang lalu di pipe ke perintah selanjutnya cut untuk memotong data field yang diinginkan.

Mendapatkan data spesifik seperti user dan id dari file /etc/passwd

[root@alma8 ~]# grep :: /etc/passwd | cut -d ":" -f 1,3
chrony:993
setroubleshoot:991
web1:1000
coba:1001

Kombinasi grep disini untuk melakukan pencarian isi file yang tidak berafiliasi dengan aplikasi karena lalu hasilnya menjadi stdin piping cut.

Similar Posts

5 2 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments