GNU/Linux >> Belajar Linux >  >> Linux

Perintah potong Linux Dijelaskan dengan 6 Contoh

Pendahuluan

cut command adalah utilitas baris perintah yang memungkinkan Anda untuk memotong bagian dari file tertentu atau data yang disalurkan dan mencetak hasilnya ke output standar. Perintah tersebut memotong bagian dari baris demi bidang, pembatas, posisi byte, dan karakter.

Dalam tutorial ini, Anda akan mempelajari apa yang cut perintah dan cara menggunakannya.

Prasyarat

  • Sistem yang menjalankan Linux.
  • Akses ke terminal.

potong Sintaks Perintah

cut perintah mengambil sintaks berikut:

cut [option] [file]

Opsi

Menentukan [option] diperlukan. Jika tidak, perintah akan menghasilkan kesalahan. Opsi yang tersedia dijelaskan di bagian berikut.

Berkas

Untuk [file] , masukkan nama file yang ingin Anda proses. Tidak menentukan nama file menginstruksikan cut perintah untuk membaca dari input standar, dalam hal ini cut menyaring pipa. Jika Anda menentukan beberapa nama file, cut perintah menggabungkan konten yang diminta.

potong Opsi Perintah

cut opsi perintah memberikan instruksi tentang penggunaan pembatas, pemotongan berdasarkan posisi byte, bidang, atau karakter. Gunakan satu opsi untuk setiap cut perintah yang Anda jalankan.

Opsi yang tersedia adalah:

Opsi Deskripsi
-f (--fields=LIST) Pilih menggunakan bidang tertentu, kumpulan bidang, atau rentang bidang.
-b (--bytes=LIST) Pilih menggunakan byte tertentu, kumpulan byte, atau rentang byte.
-c (--characters=LIST) Pilih menggunakan karakter tertentu, set karakter, atau rentang karakter.
-d (--delimiter) Digunakan untuk menentukan pembatas yang akan digunakan sebagai ganti pembatas TAB default.
--complement Bila ditentukan, opsi ini menginstruksikan cut untuk menampilkan semua byte, karakter, atau bidang, kecuali yang dipilih.
-s (--only-delimited) Pengaturan default adalah untuk mencetak baris yang tidak berisi karakter pembatas. Menentukan -s option menginstruksikan cut untuk tidak mencetak garis yang tidak mengandung pembatas.
--output-delimiter Secara default, cut menggunakan pembatas input sebagai pembatas output. Menentukan --output-delimiter opsi memungkinkan Anda untuk menentukan pembatas keluaran yang berbeda.

-f , b , dan -c opsi ambil LIST argumen, yang merupakan salah satu dari berikut:

  • Bilangan bulat N mewakili byte, bidang, atau karakter, mulai dari 1.
  • Beberapa bilangan bulat, dipisahkan koma.
  • Rentang bilangan bulat.
  • Beberapa rentang bilangan bulat, dipisahkan koma.

Setiap rentang dapat berupa salah satu dari berikut ini:

  • N- - Mulai dari bilangan bulat N (bidang, byte, atau karakter) hingga akhir baris.
  • N-M - Dari bilangan bulat N hingga bilangan bulat M , inklusif.
  • -M - Dari bidang, byte, atau karakter pertama, hingga M . yang ditentukan bidang, byte, atau karakter.

Contoh potongan Linux

Di bawah ini adalah cut yang paling umum kasus penggunaan perintah.

Penting: Perhatikan lokasi file/output perintah yang Anda proses. Memotong karakter atau byte dalam bahasa selain bahasa Inggris dapat menghasilkan keluaran yang salah jika karakter yang dimaksud lebih panjang dari satu byte.

Dipotong berdasarkan Byte

-b opsi memungkinkan Anda untuk mengekstrak data menggunakan byte. Sintaksnya adalah:

cut -b [LIST] [file]

[LIST] argumen adalah byte untuk mengekstrak dari setiap baris [file] .

Bergantung pada apa yang ingin Anda ekstrak, Anda dapat memotong satu byte, beberapa byte, atau rentang byte. Untuk memotong dari file tertentu, tentukan nama file di akhir perintah. Misalnya, kami akan menggunakan employees.txt untuk pengujian:

Untuk mengekstrak byte pertama dari setiap baris input, jalankan:

cut -b 1 employees.txt

Perintah hanya mencetak byte pertama dari setiap baris input file.

Contoh berikut menunjukkan cara menyalurkan ke perintah who dan mengekstrak 5 byte pertama dari output:

who | cut -b -5

Dipotong oleh Karakter

Untuk memotong menurut karakter, tentukan -c pilihan. Pemotongan menurut karakter mirip dengan pemotongan per byte, kecuali Anda perlu menentukan posisi karakter daripada posisi byte. Sintaksnya adalah:

cut -c [LIST] [file]

[LIST] argumen menentukan karakter yang akan diekstraksi dari setiap baris [file] .

Misalnya:

cut -c 10- employees.txt

Perintah mengekstrak semuanya dari karakter 10 hingga akhir baris dari setiap baris employees.txt . Hasilnya dicetak dalam keluaran standar.

Contoh berikut menunjukkan hasil ketika file tidak ditentukan dan cut membaca inputnya dari input standar. Lihat who keluaran perintah:

Output menunjukkan bahwa satu pengguna sedang login. Gunakan cut perintah untuk mengekstrak nama pengguna pengguna yang masuk dari who keluaran perintah:

who | cut -c 1-8

Pada contoh di atas, kami menginstruksikan cut untuk mengekstrak karakter 1 hingga 8 dari setiap baris input. Jika beberapa hasil, urutkan hasil dengan menambahkan perintah dengan | sort .

Selain itu, gunakan cut untuk mengekstrak beberapa karakter berbeda dari satu baris. Misalnya, tampilkan nama pengguna dan waktu masuk semua pengguna yang masuk:

who | cut -c 1-8,18-

Potong Berdasarkan Pembatas

Jika bidang tidak dipisahkan oleh karakter tab default, gunakan -d opsi untuk menentukan pembatas yang berbeda. Itu berarti karakter yang ditentukan setelah -d opsi dianggap sebagai pemisah dalam garis. Sintaksnya adalah:

cut -d[delimiter] [file]

Sebagai pengganti [delimiter] argumen, tentukan pembatas yang Anda inginkan. Anda dapat menggunakan karakter apa pun sebagai pembatas. Menggunakan cut perintah untuk mengekstrak bidang dari file tanpa menentukan -d option berarti pembatas default adalah karakter tab .

Dalam contoh berikut, kami menggunakan spasi putih sebagai pembatas dan mencetak bidang kedua:

echo "phoenixNAP is a global IT services provider" | cut -d ' ' -f 2

Dipotong menurut Bidang

Saat menyalurkan ke perintah yang outputnya tidak memiliki format tetap (mis., who perintah), -c pilihan tidak membantu. Menggunakan -f opsi untuk memisahkan berdasarkan bidang adalah pilihan yang lebih baik dalam kasus itu.

Misalnya:

cut -f 2 employees.txt

Pada contoh di atas, kami menggunakan -f opsi untuk mengekstrak bidang kedua dari employees.txt berkas.

Untuk memotong bidang tertentu dari file, tentukan pembatas yang berbeda. Misalnya, /etc/passwd file output berisi semua pengguna di sistem Anda, nomor id, direktori home, dll.

Data di /etc/passwd file tidak disejajarkan dengan cara yang sama seperti data di who keluaran perintah. Dengan demikian, Anda tidak dapat mengekstrak semua pengguna di sistem dengan mengandalkan nomor karakter.

Namun, bidang di /etc/passwd file dibatasi oleh titik dua. Oleh karena itu, hitung jumlah titik dua untuk mengekstrak bidang yang sama. Misalnya:

cut -d: -f1,6 /etc/passwd

Output mengembalikan setiap pengguna dalam sistem dan direktori home mereka, masing-masing sesuai dengan bidang 1 dan 6.

Melengkapi Pilihan

--complement opsi mencetak semuanya kecuali karakter/byte/bidang pada posisi yang ditentukan. Misalnya, perintah berikut mencetak semua bidang kecuali yang pertama dan ketiga:

cut employees.txt -f 1 --complement

Tentukan Pembatas Keluaran

Saat menentukan beberapa karakter/byte/bidang, cut perintah menggabungkan output tanpa pembatas. Tentukan pembatas dalam output menggunakan --output-delimiter pilihan.

Misalnya, untuk menyetel pembatas keluaran ke _ (garis bawah), gunakan:

cut employees.txt -f 1,3 --output-delimiter='_'

Linux
  1. Perintah shutdown Linux Dijelaskan dengan Contoh

  2. Perintah nslookup Linux Dijelaskan Dengan Contoh

  3. Perintah Traceroute Linux, Dijelaskan dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah JQ di Linux dengan Contoh

  3. potong Contoh Perintah di Linux

  1. Perintah ip Linux dengan Contoh

  2. Perintah potong Linux Dijelaskan untuk Pemula (dengan Contoh)

  3. Perintah Linux ldd Dijelaskan dengan Contoh