GNU/Linux >> Linux の 問題 >  >> Linux

Bashのエイリアスにユーザー定義変数を挿入しますか?

.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}'
}

この特定のケースでは、猫の無用な使用に対処することもできます:

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
}

Linux
  1. Bash動的(変数)変数名?

  2. Bashで合法的なコマンドの前に変数を設定するのはなぜですか?

  3. Bash のリストに変数が存在するかどうかを確認する

  1. Linux用の10個の便利なBashエイリアス

  2. grep を bash の変数に渡す

  3. Bash 関数の操作の説明

  1. Bashでは、いつエイリアスを作成し、いつスクリプトを作成し、いつ関数を作成するのですか?

  2. SedでBash文字列変数への参照を使用しますか?

  3. bash の変数を持つエイリアス