densel.awk
次の呼び出しを含むawkファイルがあります。
@include "klnpan.awk"
同じディレクトリにありますが、「mylib.awk」を含むパスが必要なようです。
error: cannot open source file `klnpan.awk' for reading: No such file or directory
私はdensel.awk
次のように実行します
awk -f "${path}"/densel.awk
答え1
awk
変数を見つけるために作成されましたAWKPATH
。ファイルを検索する:
区切り文字列(と同様)を含めることができます。$PATH
デフォルトはビルドによって異なりますが、.:/usr/local/share/awk
これに似ている可能性があります。つまり、現在のディレクトリとシステムディレクトリでファイルを探します。
たとえば、これをアプリケーションディレクトリに設定できます。
export AWKPATH=/path/to/awk/files
awk -f densel.awk
答え2
AWKPATHを設定するには、.bashrcでこれを行います。
if [[ -d $HOME/gawk ]] && command -v gawk >/dev/null; then
if [[ -n $AWKPATH ]]; then
AWKPATH=$(gawk 'BEGIN {print ENVIRON["AWKPATH"]}')
export AWKPATH
fi
if [[ ":$AWKPATH:" != *:"$HOME/gawk":* ]]; then
AWKPATH+=":$HOME/gawk"
fi
fi
$HOME/gawk
gawkライブラリを保存する場所に置き換えます。
また、これらすべての機能はGNU awkにのみあるため、入力に慣れることをお勧めします。gawk