Cara Memanipulasi dan Mengontrol Data dengan Bash Array

Cara Memanipulasi Dan Mengontrol Data Dengan Bash Array



Variabel array digunakan dalam bahasa pemrograman apa pun untuk menyimpan banyak nilai menggunakan indeks. Indeks array dapat berupa angka atau string. Array yang berisi indeks numerik disebut “array numerik” dan array yang berisi nilai string sebagai indeks disebut “array asosiatif”. Array numerik dan asosiatif dapat dibuat di Bash. Metode memanipulasi dan mengendalikan data array Bash ditampilkan secara rinci menggunakan 15 contoh dalam tutorial ini.

Daftar Konten:

  1. Tentukan Array berdasarkan Indeks
  2. Tentukan Array dengan Banyak Nilai
  3. Tentukan Array Asosiatif
  4. Hitung Nilai Array
  5. Baca Nilai Array dengan Loop
  6. Baca Nilai Tertentu dari Array
  7. Masukkan Nilai Array
  8. Membaca Konten File ke dalam Array
  9. Gabungkan Nilai Array
  10. Ubah Nilai Array
  11. Hapus Nilai Array
  12. Cari dan Ganti Nilai Array
  13. Gunakan Array sebagai Argumen Fungsi
  14. Kembalikan Array dari Fungsi
  15. Kosongkan Array

Tentukan Array berdasarkan Indeks

Cara mendeklarasikan array dengan menyebutkan indeks numerik berurutan atau tidak berurutan ditunjukkan pada skrip berikut. Jenis array ini disebut array numerik. Di sini, array “$books” dibuat dengan mendefinisikan tiga indeks berurutan dan array “$products” dibuat dengan mendefinisikan empat indeks non-sekuensial. Semua nilai dari kedua array dicetak menggunakan fungsi “printf”.







#!/bin/bash

#Tentukan indeks array secara berurutan

buku [ 0 ] = 'Mempelajari bash Shell'

buku [ 1 ] = 'Operasi Keamanan Siber dengan bash'

buku [ 2 ] = 'Tips Pro Baris Perintah Bash'

gema 'Semua nilai array pertama:'

printf '%s\n' ' ${buku[@]} '

#Tentukan indeks array dalam urutan tidak berurutan

produk [ 10 ] = 'Pena'

produk [ 5 ] = 'Pensil'

produk [ 9 ] = 'Biasa'

produk [ 4 ] = 'Kertas Ukuran A4'

gema

gema 'Semua nilai array kedua:'

printf '%s\n' ' ${produk[@]} '

Keluaran :



Output berikut muncul setelah menjalankan skrip. Nilai dari kedua array dicetak di output. Urutan indeks dipertahankan pada saat pencetakan untuk array indeks non-sekuensial:



  hal1





Pergi ke atas

Tentukan Array dengan Banyak Nilai

Array numerik dengan banyak nilai dapat dideklarasikan menggunakan perintah “deklarasikan” dengan opsi -a atau tanpa menggunakan perintah “deklarasikan”. Pada skrip berikut, array pertama dideklarasikan menggunakan perintah “deklarasikan” dan array kedua dibuat tanpa menggunakan perintah “deklarasikan”.



#!/bin/bash

#Deklarasikan array numerik dengan kata kunci 'deklarasikan'

menyatakan -A nama = ( 'Michael' 'Daud' 'Alexander' 'Thomas' 'Robert' 'Richard' )

#Cetak nilai array

gema 'Semua nilai array pertama:'

printf '%s\n' ' ${nama[@]} '

#Deklarasikan array numerik tanpa kata kunci 'deklarasikan'

buku = ( 'Tutorial Pembuatan Skrip Shell' 'Bish Bash Bosh!' 'Belajar Bash dengan Cepat' )

#Tambahkan baris baru

gema

#Cetak nilai array

gema 'Semua nilai array kedua:'

printf '%s\n' ' ${buku[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai kedua array dicetak di sini:

  hal2

Pergi ke atas

Tentukan Array Asosiatif

Array yang berisi nilai string sebagai indeks disebut array asosiatif. Opsi -A digunakan dengan perintah “deklarasikan” di Bash untuk membuat array Bash asosiatif. Pada skrip berikut, array asosiatif pertama dideklarasikan dengan menyebutkan indeks secara terpisah dan array kedua dideklarasikan dengan menyebutkan semua pasangan nilai kunci pada saat deklarasi array.

#!/bin/bash

#Deklarasikan variabel array asosiatif tanpa nilai

menyatakan -A karyawan

#Tetapkan nilai secara terpisah dengan menentukan indeks

karyawan [ 'pengenal' ] = '78564'

karyawan [ 'nama' ] = 'Aktor Tersedia'

karyawan [ 'pos' ] = 'CEO'

karyawan [ 'gaji' ] = 300000

#Cetak dua nilai array

gema 'Identitas pegawai: ${karyawan[id]} '

gema 'Nama karyawan: ${karyawan[nama]} '

#Deklarasikan array asosiatif dengan nilai

menyatakan -A kursus = ( [ kode ] = 'CSE-206' [ nama ] = 'Pemrograman berorientasi objek' [ kredit_jam ] = 2.0 )

#Tambahkan baris baru

gema

#Cetak dua nilai array dari array kedua

gema 'Nama kursus: ${kursus[nama]} '

gema 'Jam Kredit: ${kursus[credit_hour]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai-nilai tertentu dari array asosiatif dicetak di sini dengan menyebutkan nilai kunci atau indeks:

  hal3

Pergi ke atas

Hitung Nilai Array

Cara menghitung total elemen array numerik dan array asosiatif ditunjukkan pada skrip berikut:

#!/bin/bash

#Deklarasikan array numerik

menyatakan -A nama = ( 'Michael' 'Daud' 'Alexander' 'Thomas' 'Robert' 'Richard' ) ;

gema 'Panjang array numerik adalah ${#nama[@]} '

#Deklarasikan array asosiatif

menyatakan -A kursus = ( [ kode ] = 'CSE-206' [ nama ] = 'Pemrograman berorientasi objek' [ kredit_jam ] = 2.0 )

gema 'Panjang array asosiatif adalah ${#kursus[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Panjang array dari array numerik dan asosiatif dicetak di sini:

  hal4

Pergi ke atas

Baca Nilai Array dengan Loop

Metode membaca semua nilai array numerik dan array asosiatif menggunakan loop “for” ditunjukkan dalam skrip berikut:

#!/bin/bash

#Deklarasikan array numerik

menyatakan -A buku = ( 'Tutorial Pembuatan Skrip Shell' 'Bish Bash Bosh!' 'Pelajari Bash dengan Cepat' )

#Cetak nilai array numerik

gema 'Nilai array numerik adalah:'

untuk di dalam di dalam ' ${buku[@]} '

Mengerjakan

gema ' $masuk '

Selesai

gema

#Deklarasikan array asosiatif dengan nilai

menyatakan -A klien = (

[ pengenal ] = 'H-5623'

[ nama ] = 'Tn. Ahnaf'

[ alamat ] = '6/A, Dhanmondi, Dhaka.'

[ telepon ] = '+8801975642312' )

#Cetak nilai array asosiatif

gema 'Nilai array asosiatif adalah:'

untuk k di dalam ' ${!klien[@]} '

Mengerjakan

gema ' $k => ${klien[$k]} '

Selesai

Keluaran :

Output berikut muncul setelah menjalankan skrip. Di sini, nilai array numerik dan pasangan nilai kunci dari array asosiatif dicetak pada output:

  hal5

Pergi ke atas

Baca Rentang Nilai Tertentu dari Array

Nilai array dari rentang indeks tertentu ditampilkan dalam skrip berikut. Dalam skrip, array numerik dari empat elemen ditentukan. Dua nilai larik dari indeks kedua larik dicetak kemudian.

#!/bin/bash

#Deklarasikan array numerik

menyatakan -A Kue = ( 'Kue cokelat' 'Kue Vanila' 'Kue Beludru Merah' 'kue stroberi' )

#Cetak nilai array tertentu

gema 'Elemen ke-2 dan ke-3 dari nilai array adalah:'

printf '%s\n' ' ${kue[@]:1:2} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai kedua dan ketiga dari array adalah “Vanilla Cake” dan “Red Velvet Cake” yang dicetak pada output:

  hal6

Pergi ke atas

Masukkan Nilai Array

Metode menambahkan beberapa nilai di akhir array ditunjukkan pada skrip berikut. Array utama yaitu “$books” berisi tiga elemen dan dua elemen ditambahkan di akhir array “$books”.

#!/bin/bash

#Deklarasikan array numerik

menyatakan -A buku = ( 'Tutorial Pembuatan Skrip Shell' 'Bish Bash Bosh!' 'Pelajari Bash dengan Cepat' )

#Cetak nilai array sebelum memasukkan

gema 'Nilai array:'

printf '%s\n' ' ${buku[@]} '

gema

buku = ( ' ${buku[@]} ' 'Baris Perintah Linux dan Alkitab Skrip Shell' 'Panduan Skrip Bash Tingkat Lanjut oleh Mendel Cooper' )

#Cetak nilai array setelah dimasukkan

gema 'Nilai array setelah memasukkan dua nilai:'

printf '%s\n' ' ${buku[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai array sebelum dan sesudah memasukkan nilai baru dicetak di output:

  hal7

Pergi ke atas

Baca Konten File ke dalam Array

Buat file teks bernama “fruits.txt” dengan konten berikut untuk menguji skrip contoh ini:

buah-buahan.txt

buah mangga

Nangka

nanas

Oranye

pisang

Dalam skrip berikut, konten file disimpan dalam array bernama “$data”. Di sini, setiap baris file disimpan sebagai setiap elemen array. Selanjutnya, nilai array dicetak.

#!/bin/bash

#Baca nama file dari pengguna

membaca -P 'Masukkan nama file:' nama file

jika [ -F $namafile ]

Kemudian

#Baca konten file ke dalam array'

data = ( ` kucing ' $namafile ' ` )

gema 'Isi file diberikan di bawah ini:'

#Baca file baris demi baris

untuk garis di dalam ' ${data[@]} '

Mengerjakan

gema $garis

Selesai

menjadi

Keluaran :

Output berikut muncul setelah menjalankan skrip. Output yang ditampilkan oleh perintah “cat” dan output skrip serupa karena file yang sama diakses oleh perintah “cat” dan skrip:

  hal8

Pergi ke atas

Gabungkan Nilai Array

Array baru dibuat dengan menggabungkan nilai-nilai dari beberapa array. Dalam skrip berikut, dua array string numerik didefinisikan. Kemudian, array baru dibuat dengan menggabungkan nilai-nilai array tersebut.

#!/bin/bash

#Deklarasikan array pertama

menyatakan -A namaDaftar1 = ( 'Michael' 'Daud' 'Alexander' 'Thomas' )

gema 'Nilai array pertama adalah:'

printf '%S, ' ${namaList1[@]}

gema

#Deklarasikan array kedua

menyatakan -A namaDaftar2 = ( 'Robert' 'Richard' )

gema 'Nilai array kedua adalah:'

printf '%S, ' ${namaList2[@]}

gema

#Buat array baru dengan menggabungkan dua array

gabungan_array = ( ' ${namaList1[@]} ' ' ${namaList2[@]} ' )

gema 'Nilai array gabungan adalah:'

printf '%S, ' ${gabungan_array[@]}

gema

Keluaran :

Output berikut muncul setelah menjalankan skrip. Di sini, nilai dari tiga array dicetak di output. Array ketiga berisi semua nilai array pertama dan kedua:

  hal9

Pergi ke atas

Ubah Nilai Array

Metode memperbarui satu atau lebih nilai array dengan menyebutkan indeks ditunjukkan dalam skrip berikut:

#!/bin/bash

#Deklarasikan array pertama

menyatakan -A Daftar nama = ( 'Michael' 'Daud' 'Alexander' 'Thomas' )

gema 'Nilai array:'

printf '%S, ' ${daftar nama[@]}

gema

#Perbarui nilai ke-2 dari array

Daftar nama [ 1 ] = 'Robert'

gema 'Nilai array setelah pembaruan:'

printf '%S, ' ${daftar nama[@]}

gema

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai array utama dan array yang diperbarui dicetak di output:

  hal10

Hapus Nilai Array

Perintah “unset” digunakan untuk menghapus elemen tertentu atau semua elemen array. Dalam skrip berikut, elemen kedua dari array dihapus.

#!/bin/bash

#Deklarasikan array numerik

menyatakan -A buku = ( 'Tutorial Pembuatan Skrip Shell' 'Bish Bash Bosh!' 'Pelajari Bash dengan Cepat' )

#Cetak nilai array sebelum menghapus

gema 'Nilai array:'

printf '%s\n' ' ${buku[@]} '

gema

#Hapus elemen ke-2

tidak disetel buku [ 1 ]

#Cetak nilai array setelah dihapus

gema 'Nilai array setelah menghapus nilai ke-2:'

printf '%s\n' ' ${buku[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai array utama dan nilai array setelah menghapus satu nilai akan dicetak di output:

  hal11

Pergi ke atas

Cari dan Ganti Nilai Array

Dalam skrip berikut, nilai tertentu dari array diganti dengan nilai lain jika nilai pencarian yang ditentukan dalam pola cocok dengan nilai apa pun dari array “$names”.

#!/bin/bash

#Deklarasikan array pertama

menyatakan -A nama = ( 'Michael' 'Daud' 'Alexander' 'Thomas' )

#Cetak nilai array asli

gema 'Nilai array asli:'

printf '%s\n' ' ${nama[@]} '

#Hasilkan string setelah mengganti nilai array

diperbarui_array = ${nama[@]/Alexander/Richard}

#Cetak nilai array setelah penggantian

gema 'Nilai array setelah penggantian:'

printf '%s\n' ' ${update_array[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Nilai array utama dan nilai array setelah mengganti nilai dicetak di output:

  hal12

Pergi ke atas

Gunakan Array sebagai Argumen Fungsi

Dalam skrip berikut, variabel array dilewatkan sebagai argumen fungsi dan nilai array tersebut dicetak kemudian.

#!/bin/bash

#Deklarasikan array angka

menyatakan -A angka = ( 10 6 Empat. Lima 13 8 )

#Tentukan fungsi yang akan mengambil nilai argumen

fungsi ( )

{

#Baca argumen pertama

angka = $1

#Cetak nilai array

gema 'Nilai array:'

printf '%d\n' ' ${angka[@]} '

}

#Panggil fungsi dengan array sebagai argumen

fungsi ' ${angka[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip:

  hal13

Pergi ke atas

Mengembalikan Array dari Fungsi

Dalam skrip berikut, fungsi tersebut dipanggil dengan empat argumen numerik. Sebuah array dibuat dengan nilai argumen dan array tersebut dikembalikan dari fungsi ke pemanggil.

#!/bin/bash

#Tentukan fungsi yang membaca empat nilai argumen

fungsi ( )

{

#Baca nilai argumen

angka = ( $1 $2 $3 $4 )

#Kembalikan arraynya

gema ' ${angka[@]} '

}

#Panggil fungsi dengan tiga argumen

pengembalian_val =$ ( fungsi 78 Empat. Lima 90 23 )

#Simpan nilai kembalian dalam array

membaca -A pada satu <<< $return_val

#Cetak nilai array yang dikembalikan

gema 'Nilai arraynya adalah:'

untuk di dalam di dalam ' ${angka[@]} '

Mengerjakan

gema ' $masuk '

Selesai

Keluaran :

Output berikut muncul setelah menjalankan skrip:

Pergi ke atas

Kosongkan Array

Skrip berikut menunjukkan metode mengosongkan array menggunakan perintah “unset”. Jumlah total nilai array dicetak sebelum dan sesudah membuat array kosong.

#!/bin/bash

#Deklarasikan array angka

menyatakan -A angka = ( 10 6 Empat. Lima 13 80 )

gema 'Jumlah nilai array: ${#angka[@]} '

#Buat array kosong

tidak disetel angka

gema 'Jumlah nilai array setelah membuat array kosong: ${#angka[@]} '

Keluaran :

Output berikut muncul setelah menjalankan skrip. Jumlah elemen array menjadi 0 setelah membuat array kosong:

  hal15

Pergi ke atas

Kesimpulan

Berbagai metode mendeklarasikan, mengakses, memodifikasi, dan menghapus variabel array dalam skrip Bash ditampilkan dalam tutorial ini menggunakan 15 contoh sederhana. Kami berharap tutorial ini akan membantu pengguna Bash untuk mengetahui penggunaan array Bash secara detail.