find и пробелы (Страница 1) / Программирование / Форум StopLinux

Объявление

Kwork.ru - услуги фрилансеров от 500 руб.

#1 21-02-11 14:01:24

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Firefox 3.6.13

find и пробелы

Меня вот только что взбесило, есть директория с пробелами в именах, как организовать цикл for что бы эти пробелы были частью имен файлов?
Мне пришлось изобрести примерно вот такой костыль:

$ find | ruby -e "STDIN.read.split(/\n/).each { |file| File.rename(file,file.gsub(/pronshara.tv,''/)) if file =~ /pronshara.tv/ }"

В ruby методом split() разъединил на массив строки через символ \n (переход на новую строку)
Что можно было сделать через bash? Это я не осилил баш или баш говно?
PS
Ненавижу bash

Редактировался Babusha (21-02-11 14:02:10)

Неактивен

#2 21-02-11 15:54:46

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
Windows 7Firefox 3.6.13

Re: find и пробелы

"`find`"

Нет, весь вывод find будет дна сплошная строка.

Неактивен

#3 21-02-11 19:42:28

Lord_Evil
Master Of Darkness
Из Deepest Pits Of Hell
Зарегистрирован: 06-06-10
Сообщений: 1,887
Сайт
LinuxOpera 11.00

Re: find и пробелы

Babusha, бешенный чувак)) Лови новый титул smile Пользуйся себе своим руби, чего ты воду мутишь?)

Добавлено спустя 15 мин 36 с:

find . -name "* *" -exec bash -c "echo \"mv \\\"{}\\\"\" >job.tmp&& echo '{}'|sed 's/ /_/g' >>job.tmp && tr '\n' ' ' < job.tmp>job && sh job && rm job*" \;

Набля, родил))


Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©

Неактивен

#4 21-02-11 20:03:09

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 11.0.678.0

Re: find и пробелы

Babusha пишет:

Нет, весь вывод find будет дна сплошная строка.

А зачем тебе find под виндовс? Можешь общую задачу сказать?

У меня есть ощущение, что ты решаешь какую-то элементарную задачу сраными (вот тебе ответная экспрессия) линуксячьими методами.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#5 21-02-11 20:16:47

Lord_Evil
Master Of Darkness
Из Deepest Pits Of Hell
Зарегистрирован: 06-06-10
Сообщений: 1,887
Сайт
LinuxOpera 11.00

Re: find и пробелы

Svart Testare, ну мы про баш, если чо..) Я такую хрень обычно тоже на нормальных скриптовых языках решаю, типа Perl, в т.ч. и в винде.


Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©

Неактивен

#6 21-02-11 20:30:15

Lord_Evil
Master Of Darkness
Из Deepest Pits Of Hell
Зарегистрирован: 06-06-10
Сообщений: 1,887
Сайт
LinuxOpera 11.00

Re: find и пробелы

Svart Testare, да, но не он один wink Кому что привычно.


Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©

Неактивен

#7 21-02-11 22:47:31

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

Он же даже не знает, что в cmd есть и find и findstr для эстетов.

cmd убожище.  hmm

Svart Testare, ну мы про баш, если чо..) Я такую хрень обычно тоже на нормальных скриптовых языках решаю, типа Perl, в т.ч. и в винде.


А я на ruby все отлично решаю, perl имхо немножко устарел, да и изначально он был создан для других задач, "как замена sed & awk", но если все работает, то всеровно.  smile



В винде нормальный скриптовый язык это PS

Таки пшел лучше чем баш, с этим трудно спорить, воь только мне не нравится синтаксис, зачем надо было делать все с полным закосам на сишарп? Хорошо что там нету еще абсолютно обязательных точек с запятыми как в perl. Хотя скорость выполнения не впечатляет, но обычно в скриптах на скорость пофиг.  wink

Не представляю как Perl со своим синтаксисом может быть удобнее, чем человеческий PS

В ruby синтаксис имхо лучше, я руби сразу полюбил как только его увидел, хотя в руби есть некоторая магия, если ты никогда не видел руби, то код типа
('A'..'Z').to_a.reverse.each { |letter| puts letter }
Не совсем понятен. Хотя это тоже самое что for letter in ('A'..'Z').to_a.reverse; puts letter; end
А некоторый код на ruby вообще можно читать как обычный человеческий язык
File.new 'filename' if not File.exist? filename

Кстати, тут мы вообще обсуждаем убогость bash, там что не флудим  smile

Редактировался Babusha (21-02-11 22:48:18)

Неактивен

#8 21-02-11 23:35:22

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

Вообще-то bash справляется со своей задачей и не является ЯП общего или специального назначения.

Как это он справляется? Однострочниками на руби?

Неактивен

#9 22-02-11 01:51:13

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

Задача bash -- небольшие скрипты, использующие внешние утилиты и управление системой.

Проблема в том что баш и на это не способен, весь код баш состоит из 99,949859% костылей.

Неактивен

#10 22-02-11 02:14:02

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

феерично.
нет, правда

Смотреть пост #4

Неактивен

#11 22-02-11 03:35:55

Lord_Evil
Master Of Darkness
Из Deepest Pits Of Hell
Зарегистрирован: 06-06-10
Сообщений: 1,887
Сайт
LinuxOpera 11.00

Re: find и пробелы

Svart Testare пишет:

Не представляю как Perl со своим синтаксисом может быть удобнее, чем человеческий PS

Не могу судить о разнице, т.к. последний не юзал еще. Но а что не так с синтаксисом первого?) Ты его хоть видел?))

Добавлено спустя 03 мин 34 с:

Babusha пишет:

Задача bash -- небольшие скрипты, использующие внешние утилиты и управление системой.

Проблема в том что баш и на это не способен, весь код баш состоит из 99,949859% костылей.

Выпей йаду. Пользовались >20 лет bash, тут пришел Babusha и заявил, что тот ничерта не умеет и вообще очень кривой smile


Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©

Неактивен

#12 22-02-11 04:08:29

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

Выпей йаду. Пользовались >20 лет bash, тут пришел Babusha и заявил, что тот ничерта не умеет и вообще очень кривой

Вы сами подтверждаете что bash устаревает, кстати, мне дадут нормальное решение проблемы описываемой в посте #1?


Ты себе даже не представляешь сколько и чего я видел

Типичный код: (спизжен с лора)
https://pastebin.com/ATXNEn1v

Неактивен

#13 22-02-11 04:20:21

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 11.0.678.0

Re: find и пробелы

Баш, корено устарел и уже ничему не отвечает. Но на нем написано дохрена - это раз. И, можно считать, что он есть на любой линукс системе. В линукс зоопарке это большое конкурентное преимущество любому иснтурменту. Это два. Приятного кактуса, мыши!

ПС, конечно, любит длинные нотации, но это ХОРОШО. Когда читаешь чужой код.

Когда делаешь свою студенческие поделки - конечно задалбывает полные называние имен (даже если они выпадают аутокоплишн), но когда занимаешься нормальной работой, чужого кода и примеров разбирать приходится много и это ОЧЕНЬ ВАЖНО, когда язык сам подталкивает к naming convention. Поэтому там где немцу смерть студенту лень, профессионалу - в плюс.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

#14 22-02-11 04:32:24

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

Баш, корено устарел и уже ничему не отвечает. Но на нем написано дохрена - это раз.

И что же на нем написано такого важного? На баше быдлоскрипты просто раздражает писать! Обычно чужие скрипты нерабочие только потому что обращаются к своим странным директориям и тд.

ПС, конечно, любит длинные нотации, но это ХОРОШО. Когда читаешь чужой код.

Руби полностью объектно-ориентировочный, у него с этим проблем нету (File.new, File.rename, File.delete, File.exist? File.file? (Приятно читать код File.new 'Filename' if not File.exist? 'Filename', неправда ли? ))

Редактировался Babusha (22-02-11 04:33:04)

Неактивен

#15 22-02-11 05:09:51

Lord_Evil
Master Of Darkness
Из Deepest Pits Of Hell
Зарегистрирован: 06-06-10
Сообщений: 1,887
Сайт
LinuxOpera 11.00

Re: find и пробелы

Svart Testare пишет:

Ты себе даже не представляешь сколько и чего я видел

А как транс сам у себя ***, а потом сам себя в ж, видел?)) lol

Babusha пишет:

кстати, мне дадут нормальное решение проблемы описываемой в посте #1?

Lord_Evil пишет:
find . -name "* *" -exec bash -c "echo \"mv \\\"{}\\\"\" >job.tmp&& echo '{}'|sed 's/ /_/g' >>job.tmp && tr '\n' ' ' < job.tmp>job && sh job && rm job*" \;

Набля, родил))

Babusha пишет:

И что же на нем написано такого важного?

configure скрипты напр. smile


Интеллигент боится лишь одного — касаться темы зла и его корней, потому что справедливо полагает, что здесь его могут сразу выeбaть телеграфным столбом.©

Неактивен

#16 22-02-11 05:21:50

Babusha
Нехристь
Зарегистрирован: 12-03-10
Сообщений: 2,160
LinuxChrome 9.0.597.98

Re: find и пробелы

configure скрипты напр.

autotools ящитаю надо закопать в пользу cmake

Неактивен

#17 22-02-11 05:56:18

Tiphon
Участник
Зарегистрирован: 08-07-10
Сообщений: 2,354
Windows 7Chrome 11.0.678.0

Re: find и пробелы

Babusha пишет:

autotools ящитаю надо закопать в пользу cmake

Угу... Закопай ты их)))
вот допустим в министерстве энергетики сша, на тысячах линуксов нет cmake.

Хоть пердни.

Рхел 5.5 и никаких cmake. И как ты что-то будешь разрабатывать?

Неееетттт... Никаких вменяемых стандартов, кроме убогого, пристарелого ни чему не отвечающему POSIX под линуксом сейчас нет. И поэтому, мыши, вы и грызете свой кактус - autotools. И хоть 10 cmake выйдет, если разрабатываешь что-то серьезное, что должно компилиться на каждой системе, cmake придется послать и наслаждаться, наслаждаться, НАСЛАЖДАТЬСЯ кактусом make-ом.


Квантовая механика - "малопонятный математический курьёз" (с) msAVA - современный учитель.

Неактивен

Kwork.ru - услуги фрилансеров от 500 руб.
Мой VPS с 2016 года !
✅ Виртуальные от 300 ₽/месяц, RAM 1-10GB, DISK 20-360 GB;
✅ Выделенные от 3000 ₽/месяц. RAM 4-64GB, DISK до 4TB;
✅ Intel Xeon, SSD, XEN, iLO/KVM, Windows/Linux, Администрирование;
✅ Бесплатно Full Backup и Anti-DDoS.





Подвал форума

Под управлением FluxBB
Модифицировал Visman

Яндекс.Метрика