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 – Nonaktifkan/modifikasi Middle-click-to-paste Di X11/xorg?
Oring Dengan Benar Dalam Perintah Atas Ssh?