GNU/Linux >> Belajar Linux >  >> Linux

Potong Perintah di Linux

Ada banyak utilitas yang tersedia di sistem Linux dan Unix yang memungkinkan Anda untuk memproses dan memfilter file teks. cut adalah utilitas baris perintah yang memungkinkan Anda untuk memotong bagian baris dari file tertentu atau data yang disalurkan dan mencetak hasilnya ke output standar. Ini dapat digunakan untuk memotong bagian dari garis dengan pembatas, posisi byte, dan karakter.

Pada artikel ini, kami akan menunjukkan cara menggunakan cut perintah melalui contoh-contoh praktis dan penjelasan rinci tentang opsi yang paling umum.

Cara Menggunakan cut Perintah #

Sintaks untuk cut perintahnya adalah sebagai berikut:

cut OPTION... [FILE]...

Opsi yang memberi tahu cut apakah akan menggunakan pembatas, posisi byte, atau karakter saat memotong bagian yang dipilih, garisnya adalah sebagai berikut:

  • -f (--fields=LIST ) - Pilih dengan menentukan bidang, kumpulan bidang, atau rentang bidang. Ini adalah opsi yang paling umum digunakan.
  • -b (--bytes=LIST ) - Pilih dengan menentukan byte, kumpulan byte, atau rentang byte.
  • -c (--characters=LIST ) - Pilih dengan menentukan karakter, kumpulan karakter, atau rentang karakter.

Anda dapat menggunakan satu, dan hanya satu dari opsi yang tercantum di atas.

Pilihan lainnya adalah:

  • -d (--delimiter ) - Tentukan pembatas yang akan digunakan sebagai pengganti pembatas “TAB” default.
  • --complement - Melengkapi seleksi. Saat menggunakan opsi ini cut menampilkan semua byte, karakter, atau bidang kecuali yang dipilih.
  • -s (--only-delimited ) - Secara default cut mencetak baris yang tidak mengandung karakter pembatas. Saat opsi ini digunakan, cut tidak mencetak baris yang tidak mengandung pembatas.
  • --output-delimiter - Perilaku default cut adalah dengan menggunakan pembatas input sebagai pembatas output. Opsi ini memungkinkan Anda untuk menentukan string pembatas keluaran yang berbeda.

cut perintah dapat menerima nol atau lebih masukan nama FILE. Jika tidak ada FILE ditentukan, atau ketika FILE adalah - , cut akan membaca dari input standar.

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

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

Cara Memotong berdasarkan Bidang #

Untuk menentukan bidang yang harus dipotong, jalankan perintah dengan -f pilihan. Bila tidak ditentukan, pembatas default adalah “TAB”.

Dalam contoh di bawah ini, kita akan menggunakan file berikut. Bidang dipisahkan oleh tab.

test.txt
245:789 4567    M:4540  Admin   01:10:1980
535:763 4987    M:3476  Sales   11:04:1978

Misalnya, untuk menampilkan bidang ke-1 dan ke-3, Anda akan menggunakan:

cut test.txt -f 1,3
245:789	M:4540
535:763	M:3476

Atau jika Anda ingin menampilkan dari bidang ke-1 hingga ke-4:

cut test.txt -f -4
245:789	4567	M:4540	Admin
535:763	4987	M:3476	Sales

Cara memotong berdasarkan pembatas #

Untuk memotong berdasarkan pembatas, jalankan perintah dengan -d pilihan, diikuti oleh pembatas yang ingin Anda gunakan.

Misalnya, untuk menampilkan bidang ke-1 dan ke-3 menggunakan “:” sebagai pembatas, Anda harus mengetik:

cut test.txt -d ':' -f 1,3
245:4540	Admin	01
535:3476	Sales	11

Anda dapat menggunakan karakter tunggal apa pun sebagai pembatas. Dalam contoh berikut, kami menggunakan karakter spasi sebagai pembatas dan mencetak bidang ke-2:

echo "Lorem ipsum dolor sit amet" | cut -d ' ' -f 2
ipsum

Cara melengkapi pilihan #

Untuk melengkapi daftar bidang pilihan gunakan --complement pilihan. Ini hanya akan mencetak bidang-bidang yang tidak dipilih dengan -f pilihan.

Perintah berikut akan mencetak semua bidang kecuali yang pertama dan ketiga:

cut test.txt -f 1,3 --complement
4567	Admin	01:10:1980
4987	Sales	11:04:1978

Cara menentukan pembatas keluaran #

Untuk menentukan pembatas keluaran gunakan --output-delimiter pilihan. Misalnya, untuk menyetel pembatas keluaran ke _ Anda akan menggunakan:

cut test.txt -f 1,3 --output-delimiter='_'
245:789_M:4540
535:763_M:3476

Cara Memotong Byte dan Karakter #

Sebelum melangkah lebih jauh, mari kita buat perbedaan antara byte dan karakter.

Satu byte adalah 8 bit dan dapat mewakili 256 nilai yang berbeda. Ketika standar ASCII ditetapkan, itu memperhitungkan semua huruf, angka, dan simbol yang diperlukan untuk bekerja dengan bahasa Inggris. Tabel karakter ASCII memiliki 128 karakter, dan setiap karakter diwakili oleh satu byte. Ketika komputer mulai dapat diakses secara global, perusahaan teknologi mulai memperkenalkan pengkodean karakter baru untuk berbagai bahasa. Untuk bahasa yang memiliki lebih dari 256 karakter, pemetaan 1 hingga 1 yang sederhana tidak dapat dilakukan. Hal ini menyebabkan masalah yang berbeda seperti berbagi dokumen atau menjelajahi situs web, dan diperlukan standar Unicode baru yang dapat menangani sebagian besar sistem penulisan dunia. UTF-8 diciptakan untuk memecahkan masalah ini. Dalam UTF-8, tidak semua karakter diwakili dengan 1 byte. Karakter dapat direpresentasikan dengan 1 byte hingga 4 byte.

-b (--bytes ) opsi memberitahu perintah untuk memotong bagian dari setiap baris yang ditentukan oleh posisi byte yang diberikan.

Dalam contoh berikut, kami menggunakan ü karakter yang membutuhkan 2 byte.

Pilih byte ke-5:

echo 'drüberspringen' | cut -b 5
b

Pilih byte ke-5, ke-9, dan ke-13:

echo 'drüberspringen' | cut -b 5,9,13
bpg

Pilih rentang dari byte ke-1 hingga ke-5:

echo 'drüberspringen' | cut -b 1-5
drüb

Pada saat penulisan artikel ini, versi cut dibundel dalam GNU coreutils tidak memiliki opsi untuk memotong karakter. Saat menggunakan -c pilihan, cut berperilaku sama seperti saat menggunakan -b pilihan.

Contoh Potong #

cut perintah biasanya digunakan dalam kombinasi dengan perintah lain melalui perpipaan. Berikut beberapa contohnya:

Dapatkan daftar semua pengguna #

Output dari getent passwd perintah diteruskan ke cut , yang mencetak bidang pertama menggunakan : sebagai pembatas.

getent passwd | cut -d ':' -f1

Outputnya menunjukkan daftar semua pengguna sistem.

Lihat 10 perintah yang paling sering digunakan #

Pada contoh berikut, cut digunakan untuk menghapus 8 byte pertama dari setiap baris history keluaran perintah.

history | cut -c8- | sort | uniq -c | sort -rn | head

Kesimpulan #

cut perintah digunakan untuk menampilkan bidang yang dipilih dari setiap baris file yang diberikan atau input standar.

Meskipun sangat berguna, cut memiliki beberapa keterbatasan. Ini tidak mendukung penetapan lebih dari satu karakter sebagai pembatas dan tidak mendukung banyak pembatas.

Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk memberikan komentar.


Linux
  1. Perintah mv Linux

  2. Linux du perintah

  3. Perintah ip Linux

  1. Perintah cd Linux

  2. tempel Contoh Perintah di Linux

  3. potong Contoh Perintah di Linux

  1. Perintah potong Linux Dijelaskan dengan 6 Contoh

  2. Perintah ifconfig Linux

  3. Perintah Waktu Linux