Я пытаюсь сделать что-то подобное в bash:
grep ( date | awk '{print "2006-" $6}' ) /some/file/here
Но этот синтаксис неверен.
Цель состоит в том, чтобы найти grep /some /file / здесь для шаблона 2006-2011, где 2011 - текущий год.
grep "$(date | awk '{print "2006-" $6}')" /some/file/here
"..."
хранит свое содержимое как один аргумент (даже если есть пробел).
$(...)
для "подстановки команд", когда вывод исходной команды будет введен в исходную командную строку. (Другой синтаксис, `...`
, также распространен, но гораздо сложнее вложить.)
Полегче:
grep "$(date +'2006-%Y')" /some/file/here
Здесь вы используете возможность даты произвольно форматировать вывод.
Обратите внимание, что ни один из них не соответствует ни одному году в диапазоне 2006-2011, они соответствуют буквальной строке "2006-2011". Если вы хотите соответствовать одному году, дайте нам знать.