GNU/Linux >> Belajar Linux >  >> Linux

Masukkan Variabel Buatan Pengguna Dalam Alias ​​​​Di Bash?

Saya ingin menambahkan alias ke perintah di .bashrc saya file, seperti dalam contoh ini:

alias take_row="cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'"

Tapi saya ingin menentukan nrow variabel ketika saya meluncurkan perintah dari terminal. Sebagai contoh:

take_row 1 –> script mengambil baris pertama

take_row 20 -> script mengambil baris ke-20

Bagaimana cara menulis di dalam perintah seperti <command> | <read nrow user input> , dll.?

Jawaban yang Diterima:

Gunakan fungsi alih-alih alias, dalam hal ini Anda dapat merujuk ke parameter posisi seperti $1 , dll.

take_row () {
    local nrow="$1"
    cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'
}

Dalam kasus khusus ini, Anda juga dapat mengatasi penggunaan cat yang tidak berguna:

take_row () {
    local nrow=$1
    awk -v nrow="${nrow}" '{if (NR==nrow) print}' prova.csv_001.txt
}

… dan membuatnya lebih pendek dengan menghapus kode yang tidak dibutuhkan:

take_row () {
    local nrow=$1
    awk -v nrow="${nrow}" 'NR==nrow' prova.csv_001.txt
}

Linux
  1. Di Bash, Kapan Alias ​​​​Kapan Skrip, Dan Kapan Menulis Fungsi?

  2. Nama Variabel Bash Dinamis (variabel)?

  3. Mengapa Mengatur Variabel Sebelum Perintah Legal Di Bash?

  1. Menggunakan Referensi Ke Variabel Bash String Di Sed?

  2. Periksa apakah ada variabel dalam daftar di Bash

  3. meneruskan grep ke dalam variabel di bash

  1. 10 alias Bash yang berguna untuk Linux

  2. Bagaimana cara menghapus variabel readonly di bash?

  3. bash - pencocokan variabel case-insensitive