Как указать rsync получать файлы только с wW4 в имени

Ваш паттерн ищет 1532, но ничего не говорит о том, что последует:

$ printf '1532\n15321\n1532foo\n' | grep -o '1532'
1532
1532
1532

В зависимости от того, что вы хотите сделать, вы можете ограничить свой шаблон, чтобы он совпадал только перед новой строкой:

grep -Pzo '@<TRIPOS>MOLECULE(?:.*\n)*?\K1532\n' filename

Или, если могут быть пробелы после числа перед концом строки:

grep -Pzo '@<TRIPOS>MOLECULE(?:.*\n)*?\K1532\s*\n' filename

В качестве альтернативы, если у вас могут быть другие элементы в одной строке, используйте \b, чтобы убедиться, что число находится перед границей слова:

grep -Pzo '@<TRIPOS>MOLECULE(?:.*\n)*?\K1532\b' filename
0
21.09.2019, 11:30
1 ответ
rsync -av --progress -e 'ssh -i ~/.ssh/godaddy5_rsa' $user@$server:${RemotePath}/1112223334_18BEwW4* "${Answers}"

Не заморачивайтесь, вам не нужно включать/исключать, вам нужны только подстановочные знаки.

Вам действительно не нужно даже вычислять неделю, так как вы можете просто иметь каталог, в котором есть все назначения, и rsync просто захватит самое новое, вот так:

rsync -av --progress -e 'ssh -i ~/.ssh/godaddy5_rsa' $user@$server:${RemotePath}/1112223334_18BEwW* "${Answers}"

date +%Uвернет неделю года, поэтому вы можете использовать ее для автоматического создания недели курса, предполагая, что он линейный, увеличивая 1 каждую неделю. Или вы можете создать массив, в котором индексы указывают на номер недели курса, а индексы — на номер недели года. Или, если это линейное отношение, вы просто добавляете/вычитаете что-то к номеру недели года.

1
28.01.2020, 02:39

Теги

Похожие вопросы