powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Помогите с bash скриптом.
15 сообщений из 15, страница 1 из 1
Помогите с bash скриптом.
    #34280298
Фотография APM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть куча файлов во вложенных каталогах. Исходник проги на С++.
Все в верхнем регистре (хз почему так загнали). Но внутри файлов стоит #include<file.h> т.е. в нижнем регистре.
Хочется все их переименовать.
Так как они все под svn то переименовать не командой mv а svn mv (это впрочем мало важно).
Я вот понимаю что как то должно выглядеть типа
find . --exec .... {}
А дальше буксую.
Не подскажете?
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #34280376
--null--
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#!/bin/sh

find directory -type f |
while read a
do
 mv $a "`dirname $a`/`basename $a | tr [A-Z] [a-z]`"
done
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #34280480
Alex Roudnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
APMесть куча файлов во вложенных каталогах. Исходник проги на С++.
Все в верхнем регистре (хз почему так загнали). Но внутри файлов стоит #include<file.h> т.е. в нижнем регистре.
Хочется все их переименовать.
Так как они все под svn то переименовать не командой mv а svn mv (это впрочем мало важно).
Я вот понимаю что как то должно выглядеть типа
find . --exec .... {}
А дальше буксую.
Не подскажете?

Я это еще и часто делал просто редактором
- грузим список файлов в файл
- открываем. Сохраняем имена в виде колонки
- теперь командой tr или там что в данном случае нужно преобразуем имена
- теперь подставляем сохраненную колонку слева
- теперь слева дописываем нужную команду.

после чего - тщательно проверяем, что скрипт будет делать, и запускаем, ТОЧНО зная, что нигде не ошиблись.

Я бы советовал написать это в скрипт. Сначала вместо mv подставить echo (чтобы увидеть, что скрипт будет делать). Как увидите, что все ОК, так запускайте.

Тот скрипт не совсем хорош, потому что будет пытаться переименовать и файлы с маленькими буквами в именах. Лучше еще добавить что то типа

new_name=`echo $old_name | tr ...`
if [ "$new_name" != "$old_name" ]
then
переименовываем
else
ничего не делаем
fi
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #34280481
Alex Roudnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уточню. В приведенном скрипте лучше бы не делать саму операцию, а делать что то вида

echo "операция" >> shell_script

после прокручивания проверить, что shell_script содержит точно то, что вам нужно, и запустить его. Получится такая 2 этапная процедура - генерим скрипт, проверяем и выполняем - которая гарантирует от случайной порчи данных.
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #34282355
Антон*
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
помогите пожалуйста написать bash скрипт, производящий применение заданной команды ко всем обычным файлам в заданной директории (и всех поддиректориях)

Входные параметры:
<директория> задаваемая директория
<команда> задаваема команда
спасибо!
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #34282429
Фотография GoldSquid
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
find <директория> -type f | xargs <команда>
или
find <директория> -type f | xargs -L 1 <команда>
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Помогите с bash скриптом.
    #36311450
Bodyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задание 2.
Реализовать сценарий на диалекте языка командного интерпретатора bash, производящий поиск файлов в заданной директории (и всех поддиректориях), имеющих заданных владельцев.

Входные параметры:
* модификаторы, согласно которым указывается владелец-пользователь или владелец-группа;
* <владелец> - задаваемый владелец или группа-владелец файла
*<директория> - задаваемая директория
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36311451
Bodyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста.
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36311467
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
find тот же юзай.

что-то типа

find <directory> -type f -owner <owner> -print
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36311474
Bodyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну мне нужен именно рабочий скрипт, а не строка - команда
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36311734
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bodyk wrote:

> Ну мне нужен именно рабочий скрипт, а не строка - команда

Как говоритьься -- любой каприз за ваши деньги !
Тебе нужен совет -- делай сам. Нужен продукт - плати деньги.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36312175
Bodyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче думаю проще будет разобраться в ошибках
Надо исправить вот это
#!/bin/bash
echo "ВЛАДЕЛЕЦ ИЛИ ГРУППА-ВЛАДЕЛЕЦ ФАЙЛА $1 и ДИРЕКТОРИЯ $2"
if [ $# -It 2 ] then
echo "$0 ошибка: вы должны задать два аргумента" else
echo " Количество аргументов верно."
fi


find .$2 -type f -user $1 -group
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36312510
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Bodyk wrote:

> find .$2

Точка тут явно лишняя.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36324052
Bodyk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал и так - не пашет
#!/bin/bash

echo "Введите путь:"
read PATH
echo "Введите имя пользователя:"
read USERNAME
echo "Введите имя группы:"
read GROUPNAME

find $PATH -type f -user $USERNAME -group $GROUPNAME
...
Рейтинг: 0 / 0
Помогите с bash скриптом.
    #36324084
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобще то, это должно работать. Возможно, требуется указать полный путь к find как /bin/find
А что именно не работает?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Помогите с bash скриптом.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]