Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: rm и echo не понимают строку с переносом  (Прочитано 3078 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: rm и echo не понимают строку с переносом
« Ответ #15 : 14 Января 2012, 21:52:21 »
не пробел, перенос стоки (\n или как его там)
В именах файлов?
Откуда он там?

Оффлайн avi9526

  • Автор темы
  • Активист
  • *
  • Сообщений: 618
  • ахтыжъёшкинкот
    • Просмотр профиля
    • Блог av9526
Re: rm и echo не понимают строку с переносом
« Ответ #16 : 14 Января 2012, 21:55:30 »
не пробел, перенос стоки (\n или как его там)
В именах файлов?
Откуда он там?
В nautilus из medit копи-паст. Я понимаю, что в кругах пользователей unix-подобных систем переносы строк в имени файла считается извращением, но раз уж файловая система поддерживает и раз программы с GUI способны с таким файлом производить манипуляции, то следует предусмотреть в скрипте возможность обработки, ну я так думаю, вот и спрашиваю, что с ним делать.
Ubuntu 14.10

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: rm и echo не понимают строку с переносом
« Ответ #17 : 14 Января 2012, 22:23:56 »
Я понимаю, что в кругах пользователей unix-подобных систем переносы строк в имени файла считается извращением
Верно.

Лучше от них избавиться сразу и навсегда:
Код: (bash) [Выделить]
$ touch "tmp/$(echo -en '1\n2\n3')"

$ ls tmp
1?2?3

$ find tmp -exec rename -v 's/\n/_/g' {} \;
tmp/1
2
3 renamed as tmp/1_2_3

$ ls tmp
1_2_3

Оффлайн avi9526

  • Автор темы
  • Активист
  • *
  • Сообщений: 618
  • ахтыжъёшкинкот
    • Просмотр профиля
    • Блог av9526
Re: rm и echo не понимают строку с переносом
« Ответ #18 : 14 Января 2012, 22:33:16 »
Верно.
т.е. работать с такими именами в консоли не возможно?
Ubuntu 14.10

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: rm и echo не понимают строку с переносом
« Ответ #19 : 14 Января 2012, 22:44:52 »
т.е. работать с такими именами в консоли не возможно?
Думаю, как-нибудь извернуться можно, но зачем усложнять себе жизнь?
Переименуйте их всех, и дело с концом.
Команду я указал в прошлом посте.

Оффлайн avi9526

  • Автор темы
  • Активист
  • *
  • Сообщений: 618
  • ахтыжъёшкинкот
    • Просмотр профиля
    • Блог av9526
Re: rm и echo не понимают строку с переносом
« Ответ #20 : 16 Июля 2013, 21:13:21 »
Думаю, как-нибудь извернуться можно, но зачем усложнять себе жизнь?
вот, как раз нашёл статью «Работа с «плохими» файлами в командной строке в Linux», про способы извернуться и работать с файлами у которых в имени «плохие» символы, например, создать файл с переносом строки
touch $'wat\niz\ndis?'ну ещё там много чего интересного.

Мой вопрос можно считать решённым. Спасибо : )
Ubuntu 14.10

 

Страница сгенерирована за 0.042 секунд. Запросов: 22.