Aduh

Cara Menghuraikan Fail Terhad Tab Dengan Menggunakan 'awk'

Cara Menghuraikan Fail Terhad Tab Dengan Menggunakan 'awk'

'tab' digunakan sebagai pemisah Dalam fail yang dibatasi tab. Jenis fail teks ini dibuat untuk menyimpan pelbagai jenis data teks dalam format berstruktur.  Terdapat pelbagai jenis perintah di Linux untuk menguraikan jenis fail ini.  Perintah 'awk' adalah salah satu cara untuk menguraikan fail yang dibatasi tab dengan cara yang berbeza. Penggunaan perintah 'awk' untuk membaca fail yang dibatasi tab telah ditunjukkan dalam tutorial ini.

Buat fail yang dibatasi tab:

Buat fail teks bernama pengguna.txt dengan kandungan berikut untuk menguji arahan tutorial ini. Fail ini mengandungi nama pengguna, e-mel, nama pengguna, dan kata laluan.

pengguna.txt

Nama E-mel Nama Pengguna Kata Laluan
Md. Robin [dilindungi e-mel] robin89 563425
Nila Hasan [dilindungi e-mel] nila78 245667
Mirza Abbas [dilindungi e-mel] mirza23 534788
Aornob Hasan [dilindungi e-mel] arnob45 778473
Nuhas Ahsan [dilindungi e-mel] nuhas34 563452

Contoh-1: Cetak lajur kedua fail yang dibatasi tab menggunakan pilihan -F

Perintah 'sed' berikut akan mencetak lajur kedua fail teks yang dibatasi tab. Di sini, '-F' pilihan digunakan untuk menentukan pemisah medan fail.

pengguna kucing $.txt
$ awk -F '\ t' 'print $ 2' pengguna.txt

Output berikut akan muncul setelah menjalankan perintah. Lajur kedua fail berisi alamat e-mel pengguna, yang ditampilkan sebagai output.

Contoh-2: Cetak lajur pertama fail yang dibatasi tab menggunakan pemboleh ubah FS

Perintah 'sed' berikut akan mencetak lajur pertama fail teks yang dibatasi tab. Di sini, FS (Field Separator) pemboleh ubah digunakan untuk menentukan pemisah medan fail.

pengguna kucing $.txt
$ awk 'print $ 1' FS = '\ t' pengguna.txt

Output berikut akan muncul setelah menjalankan perintah. Lajur pertama fail mengandungi nama pengguna, yang dipaparkan sebagai output.

Contoh-3: Cetak lajur ketiga fail yang dibatasi tab dengan pemformatan

Perintah 'sed' berikut akan mencetak lajur ketiga fail teks yang dibatasi tab dengan pemformatan dengan menggunakan FS pemboleh ubah dan printf. Di sini, FS pemboleh ubah digunakan untuk menentukan pemisah medan fail.

pengguna kucing $.txt
$ awk 'BEGIN FS = "\ t" printf "% 10s \ n", $ 3' pengguna.txt

Output berikut akan muncul setelah menjalankan perintah. Lajur ketiga fail mengandungi nama pengguna yang telah dicetak di sini.

Contoh-4: Cetak lajur ketiga dan keempat fail yang dibatasi tab dengan menggunakan OFS

OFS (Output Field Separator) digunakan untuk menambahkan pemisah medan dalam output. Perintah 'awk' berikut akan membahagikan kandungan fail berdasarkan pemisah tab (\ t) dan mencetak lajur ke-3 dan ke-4 menggunakan tab (\ t) sebagai pemisah.

pengguna kucing $.txt
$ awk -F "\ t" 'OFS = "\ t" cetak $ 3, $ 4> ("keluaran.pengguna txt ") '.txt
$ keluaran kucing.txt

Output berikut akan muncul setelah menjalankan perintah di atas. Lajur ke-3 dan ke-4 mengandungi nama pengguna dan kata laluan, yang telah dicetak di sini.

Contoh-5: Ganti kandungan tertentu fail yang dibatasi tab

fungsi sub () digunakan dalam 'awk untuk memerintahkan penggantian. Perintah 'awk' berikut akan mencari nombor 45 dan menggantikannya dengan nombor 90 jika nombor carian ada di dalam fail. Selepas penggantian, kandungan fail akan disimpan dalam output.fail txt.

pengguna kucing $.txt
$ awk -F "\ t" 'sub (/ 45 /, 90); print' pengguna.txt> output.txt
$ keluaran kucing.txt

Output berikut akan muncul setelah menjalankan perintah di atas. Keluarannya.fail txt menunjukkan kandungan yang diubah setelah menerapkan penggantian. Di sini, kandungan baris ke-5 telah diubah, dan 'arnob45' diubah menjadi 'arnob90'.

Contoh-6: Tambahkan rentetan pada awal setiap baris fail yang dibatasi tab

Berikut ini, perintah 'awk', pilihan '-F' digunakan untuk membahagikan kandungan fail berdasarkan tab (\ t). OFS telah digunakan untuk menambahkan koma (,) sebagai pemisah medan dalam output. fungsi sub () digunakan untuk menambahkan rentetan '- →' pada awal setiap baris output.

pengguna kucing $.txt
$ awk -F "\ t" 'OFS = ","; sub (/ ^ /, "---->"); mencetak pengguna $ 1, $ 2, $ 3'.txt

Output berikut akan muncul setelah menjalankan perintah di atas. Setiap nilai medan dipisahkan dengan koma (,) dan rentetan ditambahkan pada awal setiap baris.

Contoh-7: Ganti nilai fail yang dibatasi tab dengan menggunakan fungsi gsub ()

Fungsi gsub () digunakan dalam perintah 'awk' untuk penggantian global. Semua nilai rentetan fail akan menggantikan tempat corak pencarian sesuai. Perbezaan utama antara fungsi sub () dan gsub () ialah fungsi sub () menghentikan tugas penggantian setelah mencari padanan pertama, dan fungsi gsub () mencari corak di akhir fail untuk penggantian. Perintah 'awk' berikut akan mencari perkataan 'nila' dan 'Mira' secara global dalam fail dan menggantikan semua kejadian dengan teks, 'Nama Tidak Sah', di mana kata carian sesuai.

pengguna kucing $.txt
$ awk -F '\ t' 'gsub (/ nila | Mira /, "Nama Tidak Sah"); pengguna cetak.txt

Output berikut akan muncul setelah menjalankan perintah di atas. Perkataan 'nila' ada dua kali pada baris ke-3 fail yang telah digantikan dengan kata 'Nama Tidak Sah' dalam output.

Contoh-8: Mencetak kandungan berformat dari fail yang dibatasi tab

Perintah 'awk' berikut akan mencetak lajur pertama dan kedua fail dengan pemformatan dengan menggunakan printf. Keluaran akan menunjukkan nama pengguna dengan menyertakan alamat e-mel dalam tanda kurung.

pengguna kucing $.txt
$ awk -F '\ t' 'printf "% s (% s) \ n", $ 1, $ 2' pengguna.txt

Output berikut akan muncul setelah menjalankan perintah di atas.

Kesimpulannya

Sebarang fail yang dibatasi tab dapat dihuraikan dengan mudah dan dicetak dengan pembatas lain dengan menggunakan perintah 'awk'. Kaedah menguraikan fail yang dibatasi tab dan mencetak dalam format yang berbeza telah ditunjukkan dalam tutorial ini dengan menggunakan beberapa contoh. Penggunaan fungsi sub () dan gsub () dalam perintah 'awk' untuk menggantikan kandungan fail yang dibatasi tab juga dijelaskan dalam tutorial ini. Saya harap tutorial ini dapat membantu pembaca menguraikan fail yang dibatasi tab dengan mudah setelah mengamalkan contoh tutorial ini dengan betul.

Cara membalikkan arah tatal Tetikus dan Pad Sentuh pada Windows 10
Tetikus dan Pad sentuhs bukan sahaja menjadikan pengkomputeran mudah, tetapi lebih cekap dan kurang memakan masa. Kami tidak dapat membayangkan kehidu...
Cara menukar saiz, warna & skema penunjuk dan kursor tetikus pada Windows 10
Penunjuk dan kursor tetikus di Windows 10 adalah aspek yang sangat penting dalam sistem operasi. Ini boleh dikatakan untuk sistem operasi lain juga, j...
Enjin Permainan Sumber Percuma dan Terbuka untuk Membangunkan Permainan Linux
Artikel ini akan merangkumi senarai enjin permainan sumber percuma dan terbuka yang dapat digunakan untuk mengembangkan permainan 2D dan 3D di Linux. ...