мега скрипт
мега скрипт
короче мне нужно в одной папке убрать х у всех файлов, для этого я написал суппер мега скрипт:
#!/bin/bash
for FILE in `find . -type f`
do
chmod 644 $FILE
done
exit 0
это был он.. )
но появилась одна проблемма...
всё что содержится в этом разделе - есть бывший фат, т.к. он загнан на фтп... там море файлов в именах которых содержатся пробелы...
вот именно на них глюкает мой мега скрипт =))
как заставить его менять атрибуты на файлах с пробелами
и еще, как читать путь для комманды find из параметров с которыми запускается скрипт
спасиба
#!/bin/bash
for FILE in `find . -type f`
do
chmod 644 $FILE
done
exit 0
это был он.. )
но появилась одна проблемма...
всё что содержится в этом разделе - есть бывший фат, т.к. он загнан на фтп... там море файлов в именах которых содержатся пробелы...
вот именно на них глюкает мой мега скрипт =))
как заставить его менять атрибуты на файлах с пробелами
и еще, как читать путь для комманды find из параметров с которыми запускается скрипт
спасиба
tek teri u menia nema russkogo na klave tak sho terpite moi translit =)
a u menia drugaia misli, mojet zagoniati kajdoe vipolnenie kommandi find v peremennuiu a potom ee drugim vlojennim tsiklom probegati na nali4ie probelov i zameniati ih na : "\" dumaiu doljno pomo4, no ia ne znaiu kak eto sdelati =)
esi ia ne prov popravite... et moi pervii skript =) tak sho poproshu ne smeiatsia moim mojet glupim misliam... =)
a u menia drugaia misli, mojet zagoniati kajdoe vipolnenie kommandi find v peremennuiu a potom ee drugim vlojennim tsiklom probegati na nali4ie probelov i zameniati ih na : "\" dumaiu doljno pomo4, no ia ne znaiu kak eto sdelati =)
esi ia ne prov popravite... et moi pervii skript =) tak sho poproshu ne smeiatsia moim mojet glupim misliam... =)
- Andrej Ramaszeuski
- Неотъемлемая часть форума
- Сообщения: 507
- Зарегистрирован: 28 ноя 2003, 11:42
- Откуда: Pardubice, CZ
- Контактная информация:
Re: мега скрипт
ну а скрипт то зачем?Agronom писал(а):короче мне нужно в одной папке убрать х у всех файлов, для этого я написал суппер мега скрипт:
#!/bin/bash
for FILE in `find . -type f`
do
chmod 644 $FILE
done
exit 0
это был он.. )
но появилась одна проблемма...
всё что содержится в этом разделе - есть бывший фат, т.к. он загнан на фтп... там море файлов в именах которых содержатся пробелы...
вот именно на них глюкает мой мега скрипт =))
как заставить его менять атрибуты на файлах с пробелами
и еще, как читать путь для комманды find из параметров с которыми запускается скрипт
спасиба
find -type f -exec chmod 644 {} \;
Linux is like a wigwam: no Windows, no Gates and Apache inside.
Andrej Ramaszeuski, vipolnenie etoi kommandi u menia vikidivaet eto: find: missing argument to `-exec'...
no 4eto mne kajetsia 4to i eta kommanda budet gliukati s imenami v kotorih esti probelli... ia poproboval poigrati s vlojennim tsiklom i vot 4e u menia polu4ilosi:
vse eto delo vidalo oshibku :
./masschmod_bash_ls: line 7: unexpected EOF while looking for matching `"'
./masschmod_bash_ls: line 13: syntax error: unexpected end of file
de ia oshibsia???
i es4e esi kto znaet podskajite kakuiu-to dokuhu po bash-u(scripti) jelatelino na russkom[
no 4eto mne kajetsia 4to i eta kommanda budet gliukati s imenami v kotorih esti probelli... ia poproboval poigrati s vlojennim tsiklom i vot 4e u menia polu4ilosi:
Код: Выделить всё
#!/bin/bash
for FILE in `find $1 -type f`
do
for TEMP in FILE
do
if [ $TEMP -eq " " ]
let $TEMP = "\"
fi
done
chmod 644 $FILE
done
exit 0
./masschmod_bash_ls: line 7: unexpected EOF while looking for matching `"'
./masschmod_bash_ls: line 13: syntax error: unexpected end of file
de ia oshibsia???
i es4e esi kto znaet podskajite kakuiu-to dokuhu po bash-u(scripti) jelatelino na russkom[
- Serj
- Неотъемлемая часть форума
- Сообщения: 320
- Зарегистрирован: 26 июн 2004, 13:48
- Откуда: Беларусь, Минск
Короче, шклифасовски , я конечно ламер , но если исходить из того что пишут корифеи Брайан Керниган и Роб Пайк в "Программное окружение UNIX":
Ето раз.
А два - я видел что проги просмотра видео когда открываешь с виндового раздела фильмец имеющий в наименовании пробелы, то енти пробелы автоматом экранируются бэкслэшем "\".
P.S.
Вот. Самому пробовать лень и нет времени пока, так что это просто к сведению.
Т.е. я бы сделал скриптец который в цикле одного из вышеописанных видов работает со входными аргументами, ну и в него бы уже и передал в качестве аргументов результаты выполнения find.(без in!!!) ничем не отличается отКод: Выделить всё
for i
, пробелы в аргументах не обрабатываются особым образом (т.е. аргумент с пробелом не будет считаться как 2 аргумента), результатом является список аргументов совпадающий с исходными аргументамиКод: Выделить всё
for i in "$@"
Ето раз.
А два - я видел что проги просмотра видео когда открываешь с виндового раздела фильмец имеющий в наименовании пробелы, то енти пробелы автоматом экранируются бэкслэшем "\".
P.S.
Вот. Самому пробовать лень и нет времени пока, так что это просто к сведению.
- Andrej Ramaszeuski
- Неотъемлемая часть форума
- Сообщения: 507
- Зарегистрирован: 28 ноя 2003, 11:42
- Откуда: Pardubice, CZ
- Контактная информация:
- Serj
- Неотъемлемая часть форума
- Сообщения: 320
- Зарегистрирован: 26 июн 2004, 13:48
- Откуда: Беларусь, Минск
Ну я ж тебе написал как поменять пробел на забэкслэшенный пробел.tak nad 4em ia i biusi! kak v etom samom imeni naiti probel
ну вот пример как поменять пробел на "_":
Код: Выделить всё
i=`echo $i | sed 's/ /_/'`
Код: Выделить всё
IFS='
'