Попытка:
scp /path/to/file/* user@server:/path/to/files/
это будет жаловаться на не копирование каталогов.
Если Вы хотите скопировать файлы в каталогах под /path/to/
, можно сделать:
scp /path/to/*/* user@server:/path/to/files/
Пробелы в имени файла / каталога допустимы, если эти имена правильно заключены в кавычки:
find . -maxdepth 1 -name "*.doc" | while IFS= read -r f; do
mkdir -- "${f%.doc}";
done
С zsh
:
mkdir -p -- *.doc(:r)
Или:
for f (*.doc) {
mkdir -p -- $f:r &&
mv -- $f $f:r/
}
Эквивалент bash
(хотя он также будет работать во всех оболочках POSIX и zsh
):
for f in *.doc; do
mkdir -p -- "${f%.*}" &&
mv -- "$f" "${f%.*}/"
done
(обратите внимание, что он исключает скрытые файлы).