Я сделал бы это с Perl (выполните это от терминала):
$ perl -lane 'BEGIN{$date=`date +%s`; chomp($date)}
if($.==1){print}
else{
$F[$#F]=~s/-/\//g;
$fdate=`date -d "$F[$#F]" +%s`;
chomp($fdate);
print if $date-$fdate<604800;
}' file.csv
Этот сценарий работает путем вычисления сегодняшней даты в секундах с эпохи, затем перевода даты каждой строки к тому же формату, вычитания его из сегодняшней даты и печати, только если этому меньше чем 7 дней (7*24*60*60=604800).
Примечания
Работы сценария с секундами, это может быть немного слишком точно для того, что Вы имели в виду. Сообщите мне если так, и я изменю его для работы на уровне дней вместо этого.
Я также преобразовываю MM-DD-YYYY
кому: MM/DD/YYYY
на лету это не может быть необходимо, если Ваш входной файл гомогенно отформатирован, но он необходим для примера, который Вы отправили.
1. Вопрос:
Я не уверен, но посмотрите на /lib/udev/rules.d/60-persistent-serial.rules
2. Вопрос:
Если udev сам назначает имена устройств, я бы поместил их все в подкаталог /dev
. Если нет в /run/$UID/devices
.