Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63

Проверьте скрипт пожалуйста.

11.11.2011, 12:56. Показов 2814. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дано:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
vlad@vlad-desktop:~/Загрузки$ ls -1
27 5.jpg
29 5.jpg
5 Ethernet.chm 
94  58.jpg
Adaaran_HF___OV_(wedding_ceremony_summer_2011).doc
Adaaran_MP___WV_(wedding_ceremony_summer_2011).doc
alfa-icons1.zip
ati-driver-installer-11-10-x86.x86_64.run
Deftones - Diamond Eyes.log
ethernet.rar
price.xls
programmingforunix.djvu
rhythmdb.zip
rochkind_unixprog2005.rar
Severnaya_stolitsa_BYeL_Ye (1).xls
Severnaya_stolitsa_BYeL_Ye.xls
text.doc
unixsisadmin.djvu
График_изменения.xls
Мониторинг отказов 23.10_Прокопович.xls
Нужно написать скрипт, который ищет файлы с пробелами в имени и переименовывает их. Вместо пробелов ставит "_".
Я написал скрипт:
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/bin/bash
down="/home/vlad/Загрузки"
 
cd "$down"
 
pic_tab=$(ls -1 $down |grep '.* \{1,\}.*' )
#echo "$pic_tab"
 
for a in "$pic_tab"
do
#echo "$a"
rename=`echo "$a" | tr " " "_"`
#echo $rename
mv $a $rename 
done
Но при запуске скрипта выдаёт:
Code
1
2
vlad@vlad-desktop:~/Рабочий стол$ ./udalenue_probelov
mv: указанная цель «Мониторинг_отказов_23.10_Прокопович.xls» не является каталогом
Что не правильно? Подскажите пожалуйста.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.11.2011, 12:56
Ответы с готовыми решениями:

проверьте скрипт
помогите. пытаюсь написать скрипт который переименовывает каталоги в латиницу. вроде работает, пока в имени каталога нет пробела. когда...

Проверьте пожалуйста реализацию кода [Мини-скрипт язык]
Встала задача создать структурный язык на подобие xml, для передачи и приёма данных в моём протоколе.. Собственно что должно получится: ...

Проверьте пожалуйста
Разработайте программу, реализующую указанную формулу: Х= - (С + 2А + 4В + В) _____________________________ data segment a dw 4 b...

5
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
11.11.2011, 15:38
Code
1
2
3
4
5
6
7
8
9
10
11
[guest@localhost tmp]$ files=($(find -maxdepth 1 -type f))
[guest@localhost tmp]$ echo ${files[0]}
./a a
[guest@localhost tmp]$ echo ${files[@]}
./a a ./b b  b ./.directory
[guest@localhost tmp]$ for f in "${files[@]}"; do newname=$(echo $f | tr ' ' _); mv "$f" $newname &>/dev/null; done
[guest@localhost tmp]$ find -maxdepth 1 -type f
./a_a
./b_b__b
./.directory
[guest@localhost tmp]$
0
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
12.11.2011, 10:56  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
Code
1
2
3
4
5
6
7
8
9
10
11
[guest@localhost tmp]$ files=($(find -maxdepth 1 -type f))
[guest@localhost tmp]$ echo ${files[0]}
./a a
[guest@localhost tmp]$ echo ${files[@]}
./a a ./b b  b ./.directory
[guest@localhost tmp]$ for f in "${files[@]}"; do newname=$(echo $f | tr ' ' _); mv "$f" $newname &>/dev/null; done
[guest@localhost tmp]$ find -maxdepth 1 -type f
./a_a
./b_b__b
./.directory
[guest@localhost tmp]$
Если вас не затруднит прокомментируйте код пожалуйста.
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.11.2011, 11:05
find - это программа
files - это массив
tr - это программа
&>/dev/null - перевести потоки stdout и stderr в пустоту

когда find находит все файлы в текущем каталоге (не ниже), то она возвращает набор путей в виде строк и эти строки становятся отдельными элементами массива files
потом берётся каждый элемент массива и с помощью программы tr в нём все пробелы заменяются на андескоры
имея старое и новое имя в переменных $f и $newname, они передаются программе mv
1
 Аватар для izamoo
12 / 9 / 0
Регистрация: 28.10.2011
Сообщений: 63
12.11.2011, 11:09  [ТС]
Цитата Сообщение от accept Посмотреть сообщение
find - это программа
files - это массив
tr - это программа
&>/dev/null - перевести потоки stdout и stderr в пустоту

когда find находит все файлы в текущем каталоге (не ниже), то она возвращает набор путей в виде строк и эти строки становятся отдельными элементами массива files
потом берётся каждый элемент массива и с помощью программы tr в нём все пробелы заменяются на андескоры
имея старое и новое имя в переменных $f и $newname, они передаются программе mv
А что бы вы сказали про скрипт который написал я. Почему он не срабатывает?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
12.11.2011, 11:27
Bash
1
    mv "$a" $rename
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.11.2011, 11:27
Помогаю со студенческими работами здесь

проверьте пожалуйста!
не совсем уверен что правильно #include <stdio.h> #include <stdlib.h> #include <iostream> #include <windows.h> using...

проверьте пожалуйста!
Доброе утро!Хочу показать вам не проверку свое творение.Не запускается. Вот текст ошибки: g++.exe...

Проверьте, пожалуйста!
1.Вывести на экран монитора и напичатать таблицу значений аргумента и функции, также построить график функции с помощью Excel на промежутке...

Проверьте ДУ пожалуйста
Задания и мои решения в прикрепленных фото. Суть том что при решении задачи Коши логарифм от 0 появляется.Что это значит?Или ошибся где...

Проверьте пожалуйста
Рабочий обслуживает 3 станка. Вероятность того что iый станок потребует переналадку в течении смены равна pi(0.05;0.03;0.04) A) В...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров
Programma_Boinc 21.04.2025
Очередные открытия мега простых чисел, сделанные добровольцами с помощью домашних компьютеров. 3 марта 2025 года, в результате обобщенного поиска простых чисел Ферма в PrimeGrid был найден. . .
Система статов в Unity
GameUnited 20.04.2025
Статы — фундаментальный элемент игрового дизайна, который определяет характеристики персонажей, предметов и других объектов в игровом мире. Будь то показатель силы в RPG, скорость передвижения в. . .
Статические свойства и методы в TypeScript
run.dev 20.04.2025
TypeScript прочно занял своё место в системе современной веб-разработки. Этот строго типизированный язык программирования не просто расширяет возможности JavaScript — он делает разработку более. . .
Batch Transform и Batch Gizmo Drawing API в Unity
GameUnited 20.04.2025
В мире разработки игр и приложений на Unity производительность всегда была критическим фактором успеха. Создатели игр постоянно балансируют между визуальной привлекательностью и плавностью работы. . .
Звук в Unity: Рандомизация с Audio Random Container
GameUnited 20.04.2025
В современных играх звуковое оформление часто становится элементом, который либо полностью погружает игрока в виртуальный мир, либо разрушает атмосферу за считанные минуты. Представьте: вы исследуете. . .
Максимальная производительность C#: Советы, тестирование и заключение
stackOverflow 20.04.2025
Погружение в мир микрооптимизаций C# открывает перед разработчиком целый арсенал мощных техник. Но как определить, где и когда их применять? Ответ начинается с точных измерений и профилирования. . . .
Максимальная производительность C#: Предсказание ветвлений
stackOverflow 20.04.2025
Третий ключевой аспект низкоуровневой оптимизации — предсказание ветвлений. Эта тема менее известна среди разработчиков, но её влияние на производительность может быть колоссальным. Чтобы понять. . .
Максимальная производительность C#: Векторизация (SIMD)
stackOverflow 20.04.2025
Помимо работы с кэшем, другим ключевым аспектом низкоуровневой оптимизации является векторизация вычислений. SIMD (Single Instruction, Multiple Data) позволяет обрабатывать несколько элементов данных. . .
Максимальная производительность C#: Процессорный кэш
stackOverflow 20.04.2025
Знакомство с внутренним устройством процессорного кэша — ключевой шаг в написании по-настоящему быстрого кода на C#. Этот слой архитектуры компьютера часто ускользает от внимания разработчиков, но. . .
Максимальная производительность C#: Введение в микрооптимизации
stackOverflow 20.04.2025
В мире разработки на C# многие привыкли полагаться на . NET Runtime, который "магическим образом" сам оптимизирует код. И часто это работает - современные JIT-компиляторы творят чудеса. Но когда речь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru