次の例のように、.bashrc
ファイルのコマンドにエイリアスを追加します。
alias take_row="cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'"
しかし、ターミナルからコマンドを起動するときにnrow
変数を指定したいと思います。例として:
take_row 1
->スクリプトは最初の行を取ります
take_row 20
->スクリプトは20行目を取ります
コマンド内に<command> | <read nrow user input>
などのように書き込むにはどうすればよいですか?
エイリアスの代わりに関数を使用します。この場合、$1
などの位置パラメータを参照できます。
take_row () {
local nrow=$1
cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'
}
この特定のケースでは、 無用なcatの使用 にも対処できます。
take_row () {
local nrow=$1
awk -v nrow="${nrow}" '{if (NR==nrow) print}' prova.csv_001.txt
}