Menggunakan daftar
- 3849
- 31
- Daryl Hermiston DVM
Jika Anda berpikir bahwa Anda dapat melakukan administrasi sistem Linux tanpa memotong perintah, maka Anda benar. Namun, menguasai alat baris perintah yang cukup sederhana ini akan memberi Anda keuntungan besar ketika datang ke efisiensi pekerjaan Anda pada pengguna dan tingkat administrasi dengan baik. Untuk menyimpulkan, memotong Perintah adalah salah satu dari banyak alat baris perintah pemfilter teks yang ditawarkan sistem operasi Linux. Itu menyaring stdin standar dari perintah atau file input lain dan mengirimkan output yang difilter ke stdout.
Opsi yang sering digunakan
Tanpa terlalu banyak bicara, mari kita mulai dengan memperkenalkan Main dan yang paling umum digunakan memotong Opsi baris perintah.
- -b, -bytes = daftar
Memotong file input menggunakan daftar byte yang ditentukan oleh opsi ini - -C, -ChoaCters = Daftar
Memotong file input menggunakan daftar karakter yang ditentukan oleh opsi ini - -f, -fields = daftar
Memotong file input menggunakan daftar bidang. Bidang default yang akan digunakan tab. Perilaku default dapat ditimpa dengan menggunakan opsi -D. - -d, -delimiter = pembatas
Menentukan pembatas untuk digunakan sebagai bidang. Seperti yang disebutkan sebelumnya bidang default adalah tab dan opsi ini menimpa perilaku default ini.
Menggunakan daftar
Daftar dalam kasus ini dapat terdiri dari satu atau kisaran byte, karakter atau bidang. Misalnya hanya menampilkan byte kedua, daftar akan menyertakan satu nomor 2 .
Karena itu:
- 2 hanya akan menampilkan byte kedua, karakter atau bidang yang dihitung dari 1
- 2-5 akan menampilkan semua byte, karakter atau bidang mulai dari yang kedua dan finishing pada tanggal 5
- -3 akan menampilkan semua byte, karakter atau bidang sebelum 4th
- 5- akan menghasilkan semua byte, karakter atau bidang yang dimulai dengan ke-5
- 1,3,6 hanya akan menampilkan byte, karakter atau bidang ke -3 dan ke -6
- 1,3- Menampilkan 1 dan semua byte, karakter atau bidang dimulai dengan 3th
Mari kita lihat bagaimana ini bekerja dalam praktik.
Dipotong demi karakter
Dalam contoh-contoh berikut agak jelas. Kami menggunakan opsi cut's -C untuk hanya mencetak rentang karakter tertentu dari CUT.file txt.
Echo Cut-Command> Cut.txt $ cut -c 2 cut.txt u $ cut -c -3 cut.txt cut $ cut -c 2-5 cut.txt ut-c $ cut -c 5- cut.perintah txt
Dipotong byte
Prinsip di balik opsi -B (byte) mirip dengan yang dijelaskan sebelumnya. Kita tahu bahwa satu karakter memiliki ukuran 1 byte dan karenanya hasil setelah menjalankan perintah sebelumnya dengan opsi -B akan persis sama:
$ cut -b 2 cut.txt u $ cut -b -3 cut.txt cut $ cut -b 2-5 cut.txt ut-c $ cut -b 5- cut.perintah txt
Potongannya.txt adalah file teks ASCII sederhana. Perbedaannya hanya datang saat menggunakan file pengkodean multi-byte sebagai teks UTF-8 Unicode . Misalnya:
$ echo ľuboš> cut.txt $ file cut.Cut txt.TXT: UTF-8 Teks Unicode $ cut -B 1-3 Cut.txt ľu $ cut -c 1-3 cut.txt ľub
Dipotong demi bidang
Seperti disebutkan sebelumnya bidang default yang digunakan oleh Cut Command adalah tab. Misalnya mari kita buat file di mana pembatas umum adalah tab.
Petunjuk: Jika Anda akan melangkah untuk memasukkan tab pada baris perintah, gunakan ^v (ctrl + v) sebelum Anda menekan tab
$ echo "1 2 3"> CUT.txt $ echo "4 5 6" >> cut.txt $ cat cut.txt 1 2 3 4 5 6 $ cut -f2- cut.txt 2 3 5 6
Contoh di atas dicetak hanya kolom ke -2 dan ke -3 karena pembatas umum adalah tab dan tab digunakan dengan memotong sebagai bidang default. Untuk memastikan bahwa Anda menggunakan tab alih -alih menggunakan Command OD:
$ echo "1 2"> tab.txt $ echo "1 2"> Space.txt $ od -a tab.txt 0000000 1 HT 2 NL 0000004 $ OD -A Ruang.TXT 0000000 1 SP SP SP SP SP SP SP SP 2 NL 0000013
Jika kita perlu mengganti perilaku default dan menginstruksikan perintah potong untuk menggunakan pembatas umum yang berbeda, opsi -d menjadi sangat berguna.
$ ECHO 1-2-3-4> CUT.txt $ echo 5-6-7-8 >> cut.txt $ cat cut.txt 1-2-3-4 5-6-7-8 $ cut -d--f-2,4 cut.TXT 1-2-4 5-6-8
Contoh klasik di mana kita perlu menggunakan opsi -d adalah untuk mengekstrak daftar pengguna pada sistem saat ini dari /etc /passwd file:
$ cut -d: -f 1 /etc /passwd root daemon bin sys game sinkronisasi lp mail berita uucp proxy www -data…
Perlu menyebutkan bahwa untuk mendapatkan output seragam, pembatas umum harus disatukan di setiap baris input. Misalnya akan sulit untuk menggunakan ruang sebagai pembatas umum contoh berikut:
$ CAT CUT.txt cut perintah w perintah awk perintah wc perintah $ cut -d "" -f2 cut.perintah perintah txt
Dalam hal ini akan jauh lebih mudah untuk menggunakan perintah awk atau menggunakan perintah SED untuk terlebih dahulu mengganti beberapa ruang dengan pembatas tunggal seperti ",":
$ sed 's/\ s \+/,/' cut.txt | cut -d, -f2 perintah perintah perintah perintah $ awk 'print $ 2; ' memotong.Perintah perintah perintah perintah txt
Tidak termasuk data menggunakan komplemen
Potong perintah memungkinkan Anda untuk secara selektif memasukkan data yang diinginkan dalam outputnya. Jika Anda perlu memilih data untuk mengecualikan dari output, opsi komplemen mungkin menjadi sangat berguna.
Misalnya:
$ echo 12345678> cut.txt $ cat cut.txt 12345678 $ cut --complement -c -2,4,6- cut.txt 35
Contoh
Mempelajari perintah cut linux dengan contoh | |
---|---|
Sintaks perintah Linux | Deskripsi Perintah Linux |
gratis | grep mem | sed 'S/\ S \+/,/g' | cut -d, -f2 | Tampilkan memori total pada sistem saat ini |
Cat /proc /cpuinfo | grep "nama" | cut -d: -f2 | uniq | Mengambil jenis CPU |
wget -q -o x http: // ipchicken.com/ grep '^ \ 8 \ [0-9]' x | sed 'S/\ S \+/,/g' | cut -d, -f2 | Ambil alamat IP eksternal saya |
cut -d: -f 1 /etc /passwd | Ekstrak daftar pengguna pada sistem saat ini |
ifconfig eth0 | grep hwaddr | cut -d "" -f 11 | Dapatkan alamat Mac dari antarmuka jaringan saya |
siapa | cut -d \ s -f1 | Daftar pengguna masuk ke sistem saat ini |
grep -w /etc /layanan | cut -f 1 | uniq | Layanan apa yang menggunakan port . |
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Pengantar Otomatisasi Linux, Alat dan Teknik
- Perintah Linux: 20 perintah terpenting teratas yang Anda butuhkan untuk…
- Perintah Linux Dasar
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 22.04 Jammy Jellyfish…
- Instal Arch Linux di VMware Workstation
- Ubuntu 20.04 Panduan
- Hal -hal yang harus diinstal pada Ubuntu 22.04
- Unduh Linux