12 Perintah yang berguna untuk memfilter teks untuk operasi file yang efektif di Linux

12 Perintah yang berguna untuk memfilter teks untuk operasi file yang efektif di Linux

Di artikel ini, kami akan meninjau sejumlah alat baris perintah yang bertindak sebagai filter di Linux. A Saring adalah program yang membaca input standar, melakukan operasi di atasnya dan menulis hasilnya ke output standar.

Untuk alasan ini, ini dapat digunakan untuk memproses informasi dengan cara yang kuat seperti restrukturisasi output untuk menghasilkan laporan yang berguna, memodifikasi teks dalam file dan banyak tugas administrasi sistem lainnya.

Dengan itu, di bawah ini adalah beberapa file atau filter teks yang berguna di Linux.

1. Perintah awk

AWK adalah bahasa pemindaian dan pemrosesan pola yang luar biasa, dapat digunakan untuk membangun filter yang berguna di Linux. Anda dapat mulai menggunakannya dengan membaca seri AWK kami bagian 1 ke bagian 13.

Selain itu, juga membaca AWK Halaman pria untuk info lebih lanjut dan opsi penggunaan:

$ man awk 

2. Perintah sed

sed adalah editor aliran yang kuat untuk memfilter dan mengubah teks. Kami sudah menulis dua artikel yang berguna tentang sed, yang dapat Anda lakukan di sini:

  1. Cara menggunakan perintah GNU 'sed' untuk membuat, mengedit, dan memanipulasi file di Linux
  2. 15 Tip dan trik perintah 'sed' yang berguna untuk tugas administrasi sistem linux harian

Halaman Sed Man telah menambahkan opsi dan instruksi kontrol:

$ man sed 

3. Grep, egrep, fgrep, perintah rgrep

Lines output filter ini cocok dengan pola yang diberikan. Mereka membaca baris dari file atau input standar, dan mencetak semua baris yang cocok secara default ke output standar.

Catatan: Program utama adalah GREP, variasinya sama dengan menggunakan opsi GREP spesifik seperti di bawah ini (dan masih digunakan untuk kompatibilitas ke belakang):

$ egrep = grep -e $ fgrep = grep -f $ rgrep = grep -r 

Di bawah ini adalah beberapa perintah GREP dasar:

[Email dilindungi] ~ $ grep "aaronkilik" /etc /passwd Aaronkilis: X: 1001: 1001 ::/Home/Aaronkilik: [Email dilindungi] ~ $ Cat /etc /passwd | grep "aronkilik" Aaronkilis: X: 1001: 1001 ::/Home/Aaronkilik: 

Anda dapat membaca lebih lanjut tentang apa perbedaan antara grep, egrep dan fgrep di linux?.

4. perintah kepala

kepala digunakan untuk menampilkan bagian pertama file, itu menghasilkan yang pertama 10 baris secara default. Anda dapat menggunakan -N Num Flag untuk menentukan jumlah baris yang akan ditampilkan:

[Email dilindungi] ~ $ head/var/log/auth.catatan 2 Jan 10:45:01 Tecmint Cron [3383]: Pam_Unix (cron: sesi): sesi dibuka untuk root pengguna oleh (uid = 0) 2 Jan 10:45:01 Tecmint Cron [3383]: Pam_Unix (Cron: Sesi) : Sesi ditutup untuk root pengguna 2 Jan 10:51:34 tecmint sudo: tecmint: tty = tidak diketahui; Pwd =/home/tecmint; Pengguna = root; Command =/usr/lib/linuxmint/mintupdate/coordapt.py 2 Jan 10:51:34 Tecmint sudo: Pam_unix (sudo: sesi): sesi dibuka untuk root pengguna oleh (uid = 0) 2 Jan 10:51:39 Tecmint sudo: Pam_Unix (sudo: sesi): ditutup untuk pengguna Root Jan 2 10:55:01 Tecmint Cron [4099]: Pam_Unix (cron: sesi): sesi dibuka untuk root pengguna oleh (uid = 0) 2 Jan 10:55:01 Tecmint Cron [4099]: PAM_UTAX (CRON: Sesi ): Sesi ditutup untuk root pengguna 2 Jan 11:05:01 Tecmint Cron [4138]: PAM_Unix (cron: Sesi): Sesi dibuka untuk root pengguna oleh (uid = 0) 2 Jan 11:05:01 Tecmint Cron [4138] : Pam_unix (cron: sesi): sesi ditutup untuk root pengguna 2 Jan 11:09:01 Tecmint Cron [4146]: Pam_Unix (cron: sesi): sesi dibuka untuk root pengguna oleh (uid = 0) [Email dilindungi] ~ $ head -n 5/var/log/auth.catatan 2 Jan 10:45:01 Tecmint Cron [3383]: Pam_Unix (cron: sesi): sesi dibuka untuk root pengguna oleh (uid = 0) 2 Jan 10:45:01 Tecmint Cron [3383]: Pam_Unix (Cron: Sesi) : Sesi ditutup untuk root pengguna 2 Jan 10:51:34 tecmint sudo: tecmint: tty = tidak diketahui; Pwd =/home/tecmint; Pengguna = root; Command =/usr/lib/linuxmint/mintupdate/coordapt.py 2 Jan 10:51:34 Tecmint sudo: Pam_unix (sudo: sesi): sesi dibuka untuk root pengguna oleh (uid = 0) 2 Jan 10:51:39 Tecmint sudo: Pam_Unix (sudo: sesi): ditutup untuk pengguna akar 

Pelajari cara menggunakan perintah kepala dengan perintah ekor dan kucing untuk penggunaan yang efektif di linux.

5. perintah ekor

ekor menghasilkan bagian terakhir (10 baris secara default) dari file. Menggunakan -N num switch untuk menentukan jumlah baris yang akan ditampilkan.

Perintah di bawah ini akan menghasilkan yang terakhir 5 Baris file yang ditentukan:

[Email dilindungi] ~ $ ekor -n 5/var/log/auth.catatan 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan pada 0.0.0.0 Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan :: Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Menerima Sighup; memulai kembali. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan pada 0.0.0.0 Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan :: Port 22. 

Selain itu, ekor memiliki opsi khusus -F Untuk menonton perubahan dalam file secara real-time (terutama file log).

Perintah berikut akan memungkinkan Anda memantau perubahan dalam file yang ditentukan:

[Email dilindungi] ~ $ ekor -f/var/log/auth.catatan 6 Jan 12:58:01 Tecmint SSHD [1269]: Server Mendengarkan :: Port 22. 6 Jan 12:58:11 Tecmint SSHD [1269]: Menerima Sighup; memulai kembali. 6 Jan 12:58:12 Tecmint SSHD [1269]: Server Mendengarkan pada 0.0.0.0 Port 22. 6 Jan 12:58:12 Tecmint SSHD [1269]: Server Mendengarkan :: Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Menerima Sighup; memulai kembali. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan pada 0.0.0.0 Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan :: Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Menerima Sighup; memulai kembali. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan pada 0.0.0.0 Port 22. 6 Jan 13:01:27 Tecmint SSHD [1269]: Server Mendengarkan :: Port 22. 

Bacalah ekor Halaman pria untuk daftar lengkap opsi dan instruksi penggunaan:

$ tail man 

6. Urutkan Perintah

menyortir digunakan untuk mengurutkan baris file teks atau dari input standar.

Di bawah ini adalah konten file bernama Domain.daftar:

[Email dilindungi] ~ $ Domain Kucing.daftar tecmint.com tecmint.Com News.tecmint.Com News.tecmint.Com Linuxsay.Com Linuxsay.com windowsmint.com windowsmint.com 

Anda dapat menjalankan perintah sortir sederhana untuk mengurutkan konten file seperti itu:

[Email dilindungi] ~ $ Urutkan domain.daftar Linuxsay.Com Linuxsay.Com News.tecmint.Com News.tecmint.com tecmint.com tecmint.com windowsmint.com windowsmint.com 

Anda dapat gunakan menyortir Perintah dalam banyak hal, buka beberapa artikel yang berguna pada perintah sortir sebagai berikut:

  1. 14 Contoh yang berguna dari perintah 'sort' linux - bagian 1
  2. 7 Contoh perintah 'sort' linux yang menarik - bagian 2
  3. Cara menemukan dan mengurutkan file berdasarkan tanggal dan waktu modifikasi
  4. Cara mengurutkan output perintah 'ls' berdasarkan tanggal dan waktu yang dimodifikasi terakhir

7. perintah uniq

uniq Perintah digunakan untuk melaporkan atau menghilangkan baris berulang, itu menyaring baris dari input standar dan menulis hasil ke output standar.

Setelah berlari menyortir Pada aliran input, Anda dapat menghapus garis berulang dengan uniq Seperti pada contoh di bawah ini.

Untuk menunjukkan jumlah kemunculan garis, gunakan -C opsi dan mengabaikan perbedaan dalam kasus saat membandingkan dengan memasukkan -Saya pilihan:

[Email dilindungi] ~ $ Domain Kucing.daftar tecmint.com tecmint.Com News.tecmint.Com News.tecmint.Com Linuxsay.Com Linuxsay.com windowsmint.com [Email dilindungi] ~ $ Urutkan domain.Daftar | uniq -c 2 Linuxsay.com 2 berita.tecmint.com 2 tecmint.com 1 WindowsMint.com 

Bacalah uniq Halaman pria untuk info dan bendera penggunaan lebih lanjut:

$ man uniq 

8. perintah fmt

fmt Formatter teks optimal sederhana, ini memformat ulang paragraf dalam file tertentu dan mencetak hasil ke output standar.

Berikut ini adalah konten yang diekstraksi dari file daftar domain.txt:

1.tecmint.com 2.berita.tecmint.com 3.Linuxsay.com 4.WindowsMint.com 

Untuk memformat ulang konten di atas ke daftar standar, jalankan perintah berikut dengan -w sakelar digunakan untuk menentukan lebar garis maksimum:

[Email dilindungi] ~ $ daftar domain kucing.txt 1.tecmint.com 2.berita.tecmint.com 3.Linuxsay.com 4.WindowsMint.com [Email dilindungi] ~ $ fmt -w 1 daftar domain.txt 1.tecmint.com 2.berita.tecmint.com 3.Linuxsay.com 4.WindowsMint.com 

9. Perintah PR

pr Perintah mengonversi file teks atau input standar untuk dicetak. Misalnya di Debian Sistem, Anda dapat mendaftarkan semua paket yang diinstal sebagai berikut:

$ dpkg -l 

Untuk mengatur daftar di halaman dan kolom yang siap dicetak, keluarkan perintah berikut.

[Email dilindungi] ~ $ dpkg -l | PR - -kolom 3 -l 20 2017-01-06 13:19 Halaman 1 Diinginkan = Tidak Diketahui/Instal II Adduser II APG | Status = tidak/inst/conf- ii adwaita-icon-tema aplikasi-install-install-data |/err?= (tidak ada)/ reinst-r ii adwaita-icon-tema- ii apparmor ||/ name II alsa-base II apt +++-===================== II ALSA-UTILS II APT-CLONE II AccountsSService II Anacron II APT-Transport-Https II ACL II APACHE2 II APT-UTILS II ACPI-SUPPOR II APACHEON II APT-XAPIAN-INDEX II ACPID II APACHE2-DATA II APTDAONON II -apt-key ii apache2-utils ii aptdaemon-data 2017-01-06 13:19 Halaman 2 II APTITUDE II Avahi-Daemon II Bind9-Host II Aptitude-Common II Avahi-Utils II Binfmt-Support II Apturl II Aview II binutils II APTURL-COMMON II BANSHEE II BISON II MRDETECT-DEB II BAOBAB II BLT II ASPELL II BASE-FILES II Blueberry II ASPELL-EN II BASE-Passwd II Bluetooth II AT-SPI2-Core II Bash II BlueZ II ATRI II-penyelesaian bash-selaup II BLUEZ-CUPS II AVAHI-AUTOIPD II BC II BLUEZ-OBEXD… 

Bendera yang digunakan di sini adalah:

  1. --kolom mendefinisikan jumlah kolom yang dibuat dalam output.
  2. -l Menentukan panjang halaman (default adalah 66 baris).

10. Perintah TR

Alat ini menerjemahkan atau menghapus karakter dari input standar dan menulis hasil ke output standar.

Sintaks untuk menggunakan tr adalah sebagai berikut:

$ TR Options Set1 Set2 

Lihatlah contoh -contoh di bawah ini, di perintah pertama, set1 ([: atas:]) mewakili kasus karakter input (semua huruf besar).

Kemudian set2 ([: lebih rendah:]) mewakili kasus di mana karakter yang dihasilkan akan. Itu sama dalam contoh kedua dan urutan pelarian \N berarti output cetak pada baris baru:

[Email dilindungi] ~ $ Echo "www.Tecmint.Com "| tr [: atas:] [: lebih rendah:] www.tecmint.com [Email dilindungi] ~ $ echo "berita.tecmint.com "| tr [: lebih rendah:] [: atas:] BERITA.Tecmint.Com 

11. lebih banyak perintah

lagi Perintah adalah file filter teliti file yang dibuat pada dasarnya untuk tampilan sertifikat. Ini menunjukkan konten file di halaman seperti format, di mana pengguna dapat menekan [Memasuki] Untuk melihat lebih banyak informasi.

Anda dapat menggunakannya untuk melihat file besar seperti itu:

[Email dilindungi] ~ $ dmesg | lagi [0.000000] menginisialisasi cgroup subsys cpuset [0.000000] menginisialisasi cgroup subsys cpu [0.000000] menginisialisasi cgroup subsys cpuacct [0.000000] Linux Versi 4.4.0-21-generic ([email dilindungi]) (GCC Version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2)) #37-Ubuntu SMP Mon 18 Apr 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-Generic 4.4.6) [0.000000] baris perintah: boot_image =/boot/vmlinuz-4.4.0-21-generic root = uuid = bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b ro uiet splash vt.handoff = 7 [0.000000] Kernel mendukung CPU: [0.000000] Intel asli Intel [0.000000] AMD AUTHENTICAMD [0.000000] centaurhauls [0.000000] x86/fpu: xstate_offset [2]: 576, xstate_sizes [2]: 256 [0.000000] X86/FPU: Fitur XSAVE Mendukung 0x01: 'X87 Register Floating Point' [0.000000] X86/FPU: Fitur XSAVE Mendukung 0x02: 'SSE Registers' [0.000000] X86/FPU: Fitur XSAVE Mendukung 0x04: 'AVX Registers' [0.000000] X86/FPU: Fitur XState yang diaktifkan 0x7, Ukuran konteks adalah 832 byte, menggunakan format 'Standar'. [0.000000] X86/FPU: Menggunakan sakelar konteks FPU 'bersemangat'. [0.000000] E820: Peta Ram Fisik yang Disediakan BIOS: [0.000000] BIOS-E820: [MEM 0x00000000000000-0x000000000009D3FF] dapat digunakan [0.000000] BIOS-E820: [MEM 0X0000000009D400-0X000000000009FFFFFFFT] Dicadangkan [0.000000] BIOS-E820: [MEM 0x000000.000E0000-0X00000000000FFFFF] Dicadangkan [0.000000] BIOS-E820: [MEM 0x00000000100000-0X00000000A56AFFFF] dapat digunakan [0.000000] BIOS-E820: [MEM 0x000000A56B0000-0X00000000A5AFFFFT] Dicadangkan [0.000000] BIOS-E820: [MEM 0x000000A5EB0000-0X00000000AAABEFFF] dapat digunakan --Lagi-- 

12. lebih sedikit perintah

lebih sedikit adalah kebalikan dari lagi Perintah di atas tetapi menawarkan fitur tambahan dan sedikit lebih cepat dengan file besar.

Gunakan dengan cara yang sama seperti lagi:

[Email dilindungi] ~ $ dmesg | lebih sedikit [0.000000] menginisialisasi cgroup subsys cpuset [0.000000] menginisialisasi cgroup subsys cpu [0.000000] menginisialisasi cgroup subsys cpuacct [0.000000] Linux Versi 4.4.0-21-generic ([email dilindungi]) (GCC Version 5.3.1 20160413 (Ubuntu 5.3.1-14ubuntu2)) #37-Ubuntu SMP Mon 18 Apr 18:33:37 UTC 2016 (Ubuntu 4.4.0-21.37-Generic 4.4.6) [0.000000] baris perintah: boot_image =/boot/vmlinuz-4.4.0-21-generic root = uuid = bb29dda3-bdaa-4b39-86cf-4a6dc9634a1b ro uiet splash vt.handoff = 7 [0.000000] Kernel mendukung CPU: [0.000000] Intel asli Intel [0.000000] AMD AUTHENTICAMD [0.000000] centaurhauls [0.000000] x86/fpu: xstate_offset [2]: 576, xstate_sizes [2]: 256 [0.000000] X86/FPU: Fitur XSAVE Mendukung 0x01: 'X87 Register Floating Point' [0.000000] X86/FPU: Fitur XSAVE Mendukung 0x02: 'SSE Registers' [0.000000] X86/FPU: Fitur XSAVE Mendukung 0x04: 'AVX Registers' [0.000000] X86/FPU: Fitur XState yang diaktifkan 0x7, Ukuran konteks adalah 832 byte, menggunakan format 'Standar'. [0.000000] X86/FPU: Menggunakan sakelar konteks FPU 'bersemangat'. [0.000000] E820: Peta Ram Fisik yang Disediakan BIOS: [0.000000] BIOS-E820: [MEM 0x00000000000000-0x000000000009D3FF] dapat digunakan [0.000000] BIOS-E820: [MEM 0X0000000009D400-0X000000000009FFFFFFFT] Dicadangkan [0.000000] BIOS-E820: [MEM 0x000000.000E0000-0X00000000000FFFFF] Dicadangkan [0.000000] BIOS-E820: [MEM 0x00000000100000-0X00000000A56AFFFF] dapat digunakan [0.000000] BIOS-E820: [MEM 0x000000A56B0000-0X00000000A5AFFFFT] Dicadangkan [0.000000] BIOS-E820: [MEM 0x000000A5EB0000-0X00000000AAABEFFF] dapat digunakan: 

Pelajari Mengapa 'Kurang' lebih cepat dari perintah 'lebih banyak' untuk navigasi file yang efektif di Linux.

Itu saja untuk saat ini, beri tahu kami tentang alat baris perintah yang bermanfaat yang tidak disebutkan di sini, yang bertindak sebagai teks yang disaring di Linux melalui bagian komentar di bawah ini.