Prasyarat:
Anda harus membuat file CSV sebelum mempraktekkan contoh tutorial ini. Buat file CSV bernama 'customers.csv' dengan konten berikut untuk memeriksa output skrip yang digunakan dalam tutorial ini. Dalam file ini, 3 rd bidang 4 th baris dan 6 th baris kosong.
ID, Nama, Email, Alamat, Ponsel101 , Jafar Iqbal, jafar @ gmail.com, 9 / A Dhanmondi Dhaka, + 8801762341425
102 , Kamal Hossain, Kamal @ gmail.com, 120 Mirpur Dhaka, 8801988675345
103 Nirob Chowdhury 33 / 2 Jigatola Dhaka, 8801754532312
104 Farheen Hasan @ gmail.com < A href = 'kosong' > , A > 10 Kadhalbagun Dhaka, + 8801512875634
105 , Md. Rahim,, 2 / B Dhanmondi Dhaka, + 8801700453423
Berbagai Cara Membaca File CSV di Bash
File CSV dapat diuraikan dengan berbagai cara menggunakan skrip Bash. Berbagai cara untuk membaca file “customers.csv” ditunjukkan di bagian tutorial ini.
Contoh 1: Baca Konten Asli File CSV
Buat file Bash dengan skrip berikut yang membaca konten lengkap file 'customers.csv' menggunakan loop 'while':
#!/bin/bash
#Atur nama file
nama file = 'pelanggan.csv'
#Baca setiap baris file di setiap iterasi
ketika membaca data
Mengerjakan
#Cetak garis
gema $data
Selesai < $namafile
Output berikut muncul setelah mengeksekusi skrip:
Contoh 2: Baca File CSV dengan Mengapitalkan Header
Baris pertama file “customers.csv” berisi judul file. Buat file Bash dengan skrip berikut yang mencetak konten file 'customers.csv' setelah mengkapitalisasi baris pertama file. Perintah 'awk' digunakan dalam skrip untuk mencetak konten file setelah mengkapitalisasi header. Koma(,) ditetapkan dalam nilai FS dan OFS dalam skrip untuk membaca file “customers.csv” dan menulis file “updatedcustomers.csv”. Perintah 'cat' digunakan untuk mencetak konten kedua file.
printf 'Berkas Asli: \N '#Cetak konten asli file CSV
kucing cstomers.csv
#Buat file CSV baru setelah mengkapitalisasi header
awk 'MULAI{FS=',';OFS=','}
{
jika(NR==1)
cetak toupper($0)
kalau tidak
mencetak
}' pelanggan.csv > diperbaruipelanggan.csv
printf ' \N Berkas yang Dimodifikasi: \N '
#Cetak file CSV baru
kucing diperbaruipelanggan.csv
Output berikut muncul setelah mengeksekusi skrip:
Contoh 3: Ganti Bidang Kosong File CSV dengan 'Tidak Ada'
Buat file Bash dengan skrip berikut yang mencetak konten file 'customers.csv' setelah memodifikasi bidang kosong dengan nilai 'Tidak Ada'. Dua bidang kosong dalam file ini yang disebutkan berikut ini. Perintah 'awk' digunakan dalam skrip untuk mencetak konten file setelah memodifikasi kolom kosong. Koma(,) ditetapkan dalam nilai FS dan OFS dalam skrip untuk membaca file “customers.csv” dan menulis file “updatedcustomers.csv”. Perintah 'cat' digunakan untuk mencetak konten kedua file dalam format tabel.
printf 'Berkas Asli: \N '#Cetak konten asli file CSV dalam bentuk tabel
kucing pelanggan.csv | kolom -s, -T
awk 'MULAI{FS=',';OFS=','}
{
untuk(bidang=1;bidang<=NF;bidang++)
{
if($bidang == '') $bidang='Tidak ada'
}
mencetak
}' pelanggan.csv > modifiedcustomers2.csv
printf ' \N Berkas yang Dimodifikasi: \N '
#Cetak file CSV baru dalam bentuk tabel
kucing modifiedcustomers2.csv | kolom -s, -T
Output berikut muncul setelah mengeksekusi skrip:
Contoh 4: Cetak Total Jumlah Baris dan Kolom File CSV
Buat file Bash dengan skrip berikut yang menghitung jumlah total baris dan kolom dalam file 'customers.csv'. Variabel NR digunakan untuk mencetak jumlah total baris file. Variabel NF digunakan untuk mencetak jumlah bidang file.
printf 'Berkas Asli: \N '#Cetak konten asli file CSV
kucing pelanggan.csv
gema
gema -N 'Jumlah baris:'
awk -F, 'AKHIR{cetak NR}' pelanggan.csv
gema -N 'Jumlah kolom:'
awk -F, 'AKHIR{cetak NF}' pelanggan.csv
Output berikut muncul setelah mengeksekusi skrip. Total baris dalam file adalah 6 dan total bidang file adalah 5 yang dicetak di output:
Kesimpulan
Metode membaca file CSV, memodifikasi file CSV, dan menghitung baris dan kolom file CSV menggunakan skrip Bash ditunjukkan dalam tutorial ini.