GNU/Linux >> Belajar Linux >  >> Linux

10 Contoh Perintah Potong Linux Praktis untuk Memilih Kolom File

Potongan perintah Linux digunakan untuk pemrosesan teks. Anda dapat menggunakan perintah ini untuk mengekstrak sebagian teks dari file dengan memilih kolom.

Tutorial ini memberikan beberapa contoh praktis perintah cut yang dapat Anda gunakan dalam aktivitas baris perintah sehari-hari.

Untuk sebagian besar contoh, kami akan menggunakan file pengujian berikut.

$ cat test.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out files and directories with its attributes.

1. Pilih Kolom Karakter

Untuk mengekstrak hanya kolom yang diinginkan dari file, gunakan opsi -c. Contoh berikut menampilkan karakter ke-2 dari setiap baris file test.txt

$ cut -c2 test.txt
a
p
s

Seperti yang terlihat di atas, karakter a, p, s adalah karakter kedua dari setiap baris file test.txt.

2. Pilih Kolom Karakter menggunakan Rentang

Rentang karakter juga dapat diekstraksi dari file dengan menentukan posisi awal dan akhir yang dibatasi dengan -. Contoh berikut mengekstrak 3 karakter pertama dari setiap baris dari file bernama test.txt

$ cut -c1-3 test.txt
cat
cp
ls

3. Pilih Kolom Karakter menggunakan Posisi Awal atau Akhir

Posisi awal atau posisi akhir dapat diteruskan ke perintah cut dengan opsi -c.

Berikut ini hanya menentukan posisi awal sebelum '-'. Contoh ini mengekstrak dari karakter ke-3 hingga akhir setiap baris dari file test.txt.

$ cut -c3- test.txt
t command for file oriented operations.
 command for copy files or directories.
 command to list out files and directories with its attributes.

Berikut ini hanya menentukan posisi akhir setelah '-'. Contoh ini mengekstrak 8 karakter dari awal setiap baris dari file test.txt.

$ cut -c-8 test.txt
cat comm
cp comma
ls comma

Seluruh baris akan dicetak ketika Anda tidak menentukan nomor sebelum atau sesudah ‘-‘ seperti yang ditunjukkan di bawah ini.

$ cut -c- test.txt
cat command for file oriented operations.
cp command for copy files or directories.
ls command to list out files and directories with its attributes.

4. Pilih Bidang Tertentu dari File

Alih-alih memilih x jumlah karakter, jika Anda ingin mengekstrak seluruh bidang, Anda dapat menggabungkan opsi -f dan -d. Opsi -f menentukan bidang mana yang ingin Anda ekstrak, dan opsi -d menentukan pembatas bidang apa yang digunakan dalam file input.

Contoh berikut hanya menampilkan bidang pertama dari setiap baris dari file /etc/passwd menggunakan pembatas bidang :(titik dua). Dalam hal ini, bidang 1 adalah nama pengguna. Berkas

$ cut -d':' -f1 /etc/passwd
root
daemon
bin
sys
sync
games
bala

5. Pilih Beberapa Bidang dari File

Anda juga dapat mengekstrak lebih dari satu bidang dari file atau stdout. Contoh di bawah ini menampilkan nama pengguna dan direktori home dari pengguna yang memiliki shell login sebagai “/bin/bash”.

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1,6
root:/root
bala:/home/bala

Untuk menampilkan rentang bidang, tentukan bidang awal dan bidang akhir seperti yang ditunjukkan di bawah ini. Dalam contoh ini, kami memilih bidang 1 sampai 4, 6 dan 7

$ grep "/bin/bash" /etc/passwd | cut -d':' -f1-4,6,7
root:x:0:0:/root:/bin/bash
bala:x:1000:1000:/home/bala:/bin/bash

6. Pilih Bidang Hanya Saat Garis Berisi Pembatas

Dalam contoh /etc/passwd kami, jika Anda melewati pembatas yang berbeda selain :(titik dua), cut hanya akan menampilkan seluruh baris.

Dalam contoh berikut, kami telah menetapkan pembatas sebagai | (pipa), dan perintah potong hanya menampilkan seluruh baris, bahkan ketika tidak menemukan baris apa pun yang memiliki | (pipa) sebagai pembatas.

$ grep "/bin/bash" /etc/passwd | cut -d'|'  -f1
root:x:0:0:root:/root:/bin/bash
bala:x:1000:1000:bala,,,:/home/bala:/bin/bash

Namun, dimungkinkan untuk memfilter dan menampilkan hanya baris yang berisi pembatas yang ditentukan menggunakan opsi -s.

Contoh berikut tidak menampilkan output apa pun, karena perintah cut tidak menemukan baris apa pun yang memiliki | (pipa) sebagai pembatas di file /etc/passwd.

$ grep "/bin/bash" /etc/passwd | cut -d'|' -s -f1

7. Pilih Semua Bidang Kecuali Bidang yang Ditentukan

Untuk melengkapi daftar bidang pilihan, gunakan opsi –pelengkap.

Contoh berikut menampilkan semua field dari file /etc/passwd kecuali field 7

$ grep "/bin/bash" /etc/passwd | cut -d':' --complement -s -f7
root:x:0:0:root:/root
bala:x:1000:1000:bala,,,:/home/bala

8. Ubah Pembatas Keluaran untuk Tampilan

Secara default pembatas output sama dengan pembatas input yang kita tentukan pada opsi cut -d.

Untuk mengubah pembatas output gunakan opsi –output-delimiter seperti yang ditunjukkan di bawah ini. Dalam contoh ini, pembatas input adalah :(titik dua), tetapi pembatas output adalah # (hash).

$ grep "/bin/bash" /etc/passwd | cut -d':'  -s -f1,6,7 --output-delimiter='#'
root#/root#/bin/bash
bala#/home/bala#/bin/bash

9. Ubah Pembatas Keluaran ke Baris Baru

Dalam contoh ini, setiap bidang dari output perintah cut ditampilkan dalam baris terpisah. Kami masih menggunakan –output-delimiter, tetapi nilainya adalah $’\n’ yang menunjukkan bahwa kami harus menambahkan baris baru sebagai pembatas output.

$ grep bala /etc/passwd | cut -d':' -f1,6,7 --output-delimiter=$'\n'
bala
/home/bala
/bin/bash

10. Gabungkan Cut dengan Output Perintah Unix Lainnya

Kekuatan perintah cut dapat diwujudkan ketika Anda menggabungkannya dengan stdout dari beberapa perintah Unix lainnya.

Setelah Anda menguasai penggunaan dasar perintah cut yang telah kami jelaskan di atas, Anda dapat dengan bijak menggunakan perintah cut untuk menyelesaikan banyak persyaratan manipulasi teks Anda.

Contoh berikut menunjukkan bagaimana Anda dapat mengekstrak hanya informasi yang berguna dari output perintah ps. Kami juga menunjukkan bagaimana kami memfilter output dari perintah ps menggunakan grep dan sed sebelum output akhir diberikan ke perintah cut. Di sini, kami telah menggunakan opsi potong -d dan -f yang telah kami jelaskan pada contoh di atas.

$ ps axu | grep python | sed 's/\s\+/ /g' | cut -d' ' -f2,11-
2231 /usr/bin/python /usr/lib/unity-lens-video/unity-lens-video
2311 /usr/bin/python /usr/lib/unity-scope-video-remote/unity-scope-video-remote
2414 /usr/bin/python /usr/lib/ubuntuone-client/ubuntuone-syncdaemon
2463 /usr/bin/python /usr/lib/system-service/system-service-d
3274 grep --color=auto python

Linux
  1. Perintah mv di Linux:7 Contoh Penting

  2. Perintah cp di Linux:7 Contoh Praktis

  3. Perintah Shutdown Linux:5 Contoh Praktis

  1. 5 Contoh Praktis Perintah Kepala di Linux

  2. ln Contoh Perintah di Linux

  3. File Contoh Perintah di Linux

  1. 8 Contoh Perintah Kepala di Linux

  2. 8 Contoh Perintah Stat di Linux

  3. potong Contoh Perintah di Linux