Должно быть блочное устройство или обычный файл (ZFS, Solaris)

Вам нужно заключить *.mdв кавычки в вашей команде find, иначе она будет расширена до совпадающих имен при ее запуске. Вы также никогда не должны использовать {}в цитируемом контексте (, см., например. Можно ли безопасно использовать `find -exec sh -c `?).

Вот решение для цикла оболочки:

for name in./*.md; do
    prefix="${name%.md}"             # "./2000-01-01-abcd.md" --> "./2000-01-01-abcd"
    prefix="${prefix##*-}"           # "./2000-01-01-abcd"    --> "abcd"

    { echo "$prefix"; cat "$name"; } >"$name".tmp && mv "$name".tmp "$name"
done

То же самое сfind:

find. -type f -maxdepth 1 -name "*.md" \
    -exec sh -c 'p="${1%.md}";p="${p##*-}";{ echo "$p";cat "$1"; }>"$1".tmp && mv "$1".tmp "$1"' sh {} ';'

-1
16.11.2019, 18:41
1 ответ

Ваша команда должна выглядеть следующим образом (для создания базового пула):

zpool create NAME c1t4d0s7 c1t1d0s7...

Необходимо использовать имена дисков, а не их точки монтирования.

0
28.01.2020, 05:11

Теги

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