tar определенные файлы на основе шаблона

Вопрос 1: Что происходит?

Ваш -o разделяет ваши аргументы. -exec работает только в том случае, если вещи с той же стороны -o успешны (путь -путь "*amblock/stats.*BRIK"). Если вы хотите, чтобы -exec работал на обоих условиях, вам нужно обернуть их в скобки:

find ${TRIADS_DIR}/*.dc.results \( -path "*amblock/stats.*HEAD" -o -path "*amblock/stats.*BRIK" \) -exec ln -s {} ${TRIADS_GROUP} \;

Вопрос 2: Есть ли более эффективный способ сказать найти, чтобы вернуть .HEAD и .BRIK с помощью одного выражения подстановочного знака?

Нет, вроде как. Некоторые реализации find имеют -regex нестандартный предикат, который вы могли бы использовать вместо него, но я бы не назвал это "более эффективным".

.
1
10.04.2014, 01:54
2 ответа
[1130383]Это очень просто:

Обновление[12146]Чтобы сделать это для нескольких дат (GNU find):[12147]
2
27.01.2020, 23:38
[1130389]Я предлагаю вам следующий бэш-скрипт : [12148]
0
27.01.2020, 23:38

Теги

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