shopt -s extglob
file="aa a a.station"
echo mv "$file" "${file// +( )/ }"
Альтернативой может быть цикл с
"${file// / }"
пока не останутся только одиночные пробелы:
file="a a"
last_run=""
new="$file"
while [ "$last_run" != "$new" ]; do
last_run="$new"
new="${last_run// / }"
done
echo mv "$file" "$new"
Или с разделением слов:
IFS=" "
mv "$file" "$(echo $file)"
sudo -i
addgroup mygroup
addgroup user1 mygroup
addgroup user2 mygroup
chgrp -R mygroup /home/user1/programs/Output/
chmod -R ug+rwX /home/user1/programs/Output/
find /home/user1/programs/Output/ -type d -exec chmod g+s {} +
exit
Это добавляет группу с именем mygroup
, добавляет обоих пользователей в эту группу и меняет группу -владельца/home/user1/programs/Output/
(и всех файлов и подкаталогов -)на mygroup
.
Затем он устанавливает права доступа к каталогу на чтение, запись, выполнение и всем файлам в нем, чтобы разрешить чтение и запись. Опять таки,это применяется рекурсивно ко всем подкаталогам -каталога../Output/
Наконец, он устанавливает бит setgid для каталогов с chmod g+s
, так что все файлы и подкаталоги -, созданные под /home/user1/programs/Output/
, будут находиться в mygroup
.
Все это нужно делать от имени root, поэтому sudo -i
для запуска корневой оболочки сначала и exit
в конце для выхода из корневой оболочки.