Как найти строки с текущей датой в формате% d-% h-% Y, назначенном переменной во всех файлах - PullRequest
0 голосов
/ 24 января 2019

У меня есть каталог, в котором у меня есть много файлов доступа, таких как:

access
access87681
access98709

Теперь я пытаюсь выполнить все строки с текущей датой в формате +%d-%h-%Y.

Я написал, как показано ниже:

tm1=$(date '+%d-%h-%Y')
sed -n '/$tm1/p' $dir/access* > $loc/OUD_Req_Res_matrix_data

Я пытаюсь собрать все $dir/access* файлы с $tm1, который является текущей датой в указанном выше формате, и вставить их в выходной файл $loc/OUD_Req_Res_matrix_data.

вышеуказанный код не работает. Пожалуйста, предложите

1 Ответ

0 голосов
/ 25 января 2019

С tm1=$(date '+%d-%h-%Y') и доступом к файлам без пробелов вы можете использовать:

sed -n "/${tm1}/p" $dir/access*

Если дата имеет косую черту, команда sed прервется.Вы можете избежать косой черты с помощью

sed 's#/#\\/#g' <<< "$tm1"

Используйте это в своей команде:

sed -n "/$(sed 's#/#\\/#g' <<< "$tm1")/p" $dir/access*
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...