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нет способа определить, что dвнутри шаблона подразумевается представление переменной с этим именем: awkпытается сопоставить литерал d. Вместо этого вы можете использовать расширение параметра:

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

При этом следует отметить два момента:

Связанный контент