awkは結果をレンダリングしません。

awkは結果をレンダリングしません。

私の目標は、今月ディレクトリに生成されたファイルをインポートすることです。

コマンドは正しいようですが、結果はレンダリングされません。

Date=`date '+%b'`

echo $Date
Oct

ls -l | awk -v d="$Date" '/d/ {print $NF}'

答え1

次のように使用する必要があります。

ls -l | awk -v d="$Date" '$0 ~ d {print $NF}'

説明はここ

findしかし、スクリプトで使用する方が良いかもしれません。

find . -maxdepth 1 -type f -daystart -ctime -`date "+%d"`

awk代わりにクラシックがある場合gawk

find * -prune -type f -cmin -`date '+%d %H %M' | awk '{print ($1*24+$2)*60+$3}'`

答え2

ここでの問題は、その名前を表す変数が必要かどうかをパターン内でawk知る方法がないことです。リテラルと一致させようとしています。代わりにパラメータ拡張を使用できます。dawkd

ls -l | awk "/$Date/ {print \$NF}"

つまり、注目すべき2つのことがあります。

関連情報