.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>
etcのようなものをどのように書きますか?
ベストアンサー1
エイリアスの代わりに関数を使用してください。この場合、位置パラメータを参照できます$1
。
take_row () {
local nrow="$1"
cat prova.csv_001.txt | awk -v nrow="${nrow}" '{if (NR==nrow) print}'
}
この特別なケースでは、次のことも解決できます。猫の無駄な使用:
take_row () {
local nrow=$1
awk -v nrow="${nrow}" '{if (NR==nrow) print}' prova.csv_001.txt
}
...不要なコードを削除してコードを短くします。
take_row () {
local nrow=$1
awk -v nrow="${nrow}" 'NR==nrow' prova.csv_001.txt
}