私はこれを持っています:
if [[ $1 = "-c" ]] && [[ $2 =~ ^[a-z A-Z]+$ ]]
then
awk -v var="$2" '{print $2}' something.txt
fi
-c abc
私が望むのは、some.txtに含まれている行を表示するコマンドを使用することですabc
。
ベストアンサー1
grepを使用してください:
grep abc something.txt
$2
また、シェル(ご存知のように)第二の主張について言及していますが、awk
違います。あなたの質問は、これについて誤解を示しているように明確にします。
シェルは$
変数の値を引用する必要があります。したがって、をmyvar
作成して名前付き変数を参照します$myvar
。
awk
名前付き変数を参照するには、myvar
その名前を使用しますmyvar
。 myvar文字を含むリテラル文字列を参照するには、と入力します"myvar"
。
スーダン$
awk
大地具体的な数字。 so は、$2
ファイルの現在行の 2 番目のフィールドを表します。または を設定すると、myvar = "4"
次$myvar
を参照します。第四ファイルフィールド。
指定されたパターンに一致するファイルのすべての行を印刷するには、次のようにします。grep
これがまさに設計されたものです。