Linux название с пробелом

Содержание
  1. bash-скрипты: пробелы в именах файлов
  2. Re: bash-скрипты: пробелы в именах файлов
  3. Re: bash-скрипты: пробелы в именах файлов
  4. Re: Re: bash-скрипты: пробелы в именах файлов
  5. Re: Re: bash-скрипты: пробелы в именах файлов
  6. Re: Re: Re: bash-скрипты: пробелы в именах файлов
  7. Re: Re: Re: Re: bash-скрипты: пробелы в именах файлов
  8. Re: bash-скрипты: пробелы в именах файлов
  9. Re: Re: bash-скрипты: пробелы в именах файлов
  10. Как запустить файл с пробелом в имени??
  11. ⚕ Как прочитать имя файла с пробелами в Linux
  12. 1) Создание имени файла с пробелами
  13. 2) Прочитать файл с пробелами в имени файла
  14. 3) Создание имени каталога с пробелами
  15. 4) Переход в каталог с пробелами в имени
  16. 5) Копирование каталога с пробелами в имени этого каталога
  17. 🐧 Работа с именами файлов с пробелами в системах Linux
  18. Как создать файл с пробелами в имени на Linux
  19. Как ссылаться на имя файла с пробелами на Linux
  20. Удаление файлов с пробелами в имени на Linux
  21. Заключение
  22. Как указать имя файла с пробелами в Linux
  23. Как получить доступ к файлам/каталогам в терминале с пробелами в имени:
  24. Как создать файл и каталог с пробелом в имени:
  25. Как прочитать файл с пробелом в имени:
  26. Как получить доступ к каталогу, в названии которого есть пробел:
  27. Как получить доступ к двум или более файлам/каталогам с пробелами в их именах:
  28. Заключение:

bash-скрипты: пробелы в именах файлов

Re: bash-скрипты: пробелы в именах файлов

Не принято в юнихе иметь имена файлов с пробелами внутре. Пробел — разделитель аргументов в командной строке и все. Переименуй все файлы с пробелами в имени (замени пробел на, например, знак подчеркивания или ‘%20’). И живи спокойно.

Re: bash-скрипты: пробелы в именах файлов

Проблема в том, что for не различает пробелы и переносы строки. Можно заставить его различать эти символы, переопределив внутреннюю переменную IFS, можно пойти другим путем, например так

ls | while read file do cat «$file» done

Вообще тут много способов решения.

Re: Re: bash-скрипты: пробелы в именах файлов

ls | while read file; do cat «$file»; done

Re: Re: bash-скрипты: пробелы в именах файлов

> Проблема в том, что for не различает пробелы и переносы строки.

Не только. oggenc my file 1.mp3 что сделает? Короче нефиг закапываться в кавычках и обратных слэшах, просто не надо использовать такие имена.

Re: Re: Re: bash-скрипты: пробелы в именах файлов

так нужно его просто в кавычки закидывать.

Re: Re: Re: Re: bash-скрипты: пробелы в именах файлов

Я и говорю — зачем с этим возиться.

Re: bash-скрипты: пробелы в именах файлов

find -name ‘*.mp3’ -mindepth 1 -maxdepth 1 | \
sed -e ‘s/\(.*\)\.mp3$/\1/’ | \
xargs -i sh -c «lame —decode ‘<>.mp3′ ‘<>.wav’ ; rm ‘<>.mp3′» и т.д.

Можно разбить на два скрипта: один ищет (find и sed), второй исполняет команды (все, что в sh):

find-mp3names | xargs -l toogg

Можно perl использовать.

Можно еще извратиться с make.

Re: Re: bash-скрипты: пробелы в именах файлов

можно еще и такой изврат использовать

в начале скрипта поставить rename » » _ *.mp3

Источник

Как запустить файл с пробелом в имени??

Запускаю файл, имеющий путь «/home/kalina/Рабочий стол/. » с помощью команды subprocess.Popen

Ничего не работает, так как есть пробел названии директории. Что можно сделать.

а если экранировать «/home/kalina/Рабочий\ стол/.»?

Путь до файла определяется программно при выборе пользователем файла. Этот файл может лежать где угодно, и директорий с такими именами (с пробелом) в адресе до файла может быть сколь угодно.и поэтому я не могу вставлять пробел. И вот как быть??

Читайте также:  Cmd windows настройка времени

Не нужно ничего для popen экранировать, наркоманов можешь не слушать. Из терминал скрипт по этому пути запускается?

Разумеется, нужно, аргумент к popen() передаётся шеллу.

ТС, юзай двойные кавычки вокруг пути запускаемого файла (и предварительно заменяй двойные кавычки внутри самого пути на \» ).

Нет, не запускается. Пишет ошибку, вот —

fileName::stripInvalid() called for invalid fileName /home/kalina/Рабочийстол/Тестовый_пример

Он зараза, объединяет Рабочийстол и все. В любом случае объединяет, так как нсть пробел

Покажи-ка этот участок кода.

И с двойными кавычками все равно объединяет слова

А, у вас в питоне велосипедный popen. Сорян, я думал, это обёртка над popen(3).

Вот я даже просто написал dir = «/home/kalina/Рабочий стол/Тестовый_пример»

и все равно объединяет

Он должен перейти в каталог fdi, а вместо этого объединяет Рабочийстол и пишет, что такого файла нет((( естественно его нет. какого фига объединять, я ведь явно указал полный путь.

А зачем ты запускаешь шелл, и тем более два раза? Убедись что в SOLVER_BASH прописан shebang и пробуй:

Если ты хочешь правильно обрабатывать сложные случаи (как, например, пробелы и кавычки в аргументах), не делай shell=True. В этом случае делается так: в первый аргумент subprocess.Popen засовывается массив строк, первая — путь к исполняемому файлу, а каждая следующая — его аргументы. В твоем случае это выглядело бы как-то так:

Я не уверен насчет cwd и пути с пробелом, но это не должно быть проблемой, т. к. передается отдельной строкой. Вероятно, ошибка где-то у тебя в коде.

Источник

⚕ Как прочитать имя файла с пробелами в Linux

В Linux не очень часто обрабатывают имя файла с пробелами, но иногда файлы, скопированные или смонтированные из Windows, могут заканчиваться пробелами.

Хотя не рекомендуется иметь имена файлов с пробелами, давайте обсудим, как управлять именем файла с пробелами в системе Linux.

Мы расскажем, как создать, прочитать и скопировать файл с пробелами в имени файла.

1) Создание имени файла с пробелами

Чтобы создать файлы с пробелами в именах, выполните команду, как показано далее:

Например, чтобы создать файл с именем «itisgood docs», используйте следующий синтаксис

Если вы хотите просмотреть такой файл с пробелом в имени файла, используйте тот же принцип включения имен файлов в кавычки.

2) Прочитать файл с пробелами в имени файла

Вы можете использовать команду «cat» или открыть документ, используя текстовый редактор, например, vim, nano или gedit.

Кроме того, вы можете использовать синтаксис ниже:

Давайте добавим текст в файл ‘itisgood docs’

Для просмотра файла выполните команду ниже:

3) Создание имени каталога с пробелами

Для создания имен каталогов с пробелом между ними используйте синтаксис ниже

Обратите внимание на пробел после обратной косой черты

Например, чтобы создать каталог с именем «itisgood files», запустите

4) Переход в каталог с пробелами в имени

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

Чтобы перейти в каталог «itisgood files», выполните команду ниже

5) Копирование каталога с пробелами в имени этого каталога

Чтобы скопировать каталог с пробелами в его имени в другое место, используйте синтаксис ниже

Например, чтобы скопировать “itisgood files” в /home/james, выполните:

Надеюсь, что эта статья хорошо объяснила, как управлять файлами и каталогами с пробелами в имени.

Спасибо, что нашли время, чтобы прочитать эту статью и, пожалуйста, оставьте свои комментарии. ?

Читайте также:  Ваша копия windows не является подлинной нет обоев

Источник

🐧 Работа с именами файлов с пробелами в системах Linux

Это нормально, что мы создаем файлы и каталоги (или можно сказать папки) на наших машинах, чтобы, когда нам нужно, мы могли легко их найти.

Иногда мы сохраняем их с именами, содержащими пробелы, например, мы сохраняем файл с именем “my file”, в этом случае терминал Linux выдаст ошибку.

Можно ли сохранять файлы без пробелов в Linux?

Можно, но доступ к ним в терминале будет осуществляться по-другому.

Эта статья посвящена тому, с какими ошибками мы сталкиваемся при доступе к файлам и каталогам с пробелами в именах и как избежать этих ошибок.

Как создать файл с пробелами в имени на Linux

Чтобы понять, как ссылаться на имя файла с пробелами в Linux, рассмотрим пример.

Сначала откроем терминал.

Затем создадим файл с именем “my file” с помощью команды touch:

Теперь посмотрите, создался файл или нет, используя команду “ls”.

Мы увидим, что вместо одного файла было создано два, один с именем “my”, а второй с именем “file”.

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

Теперь мы снова создадим еще один файл, используя (‘ ‘) и еще один, используя (\).

Теперь снова используйте команду “ls” для просмотра файлов.

Файлы были созданы.

Давайте проверим, получим ли мы те же ошибки при создании каталога с использованием пробела или нет.

Создадим каталог с пробелом с помощью команды mkdir.

Мы посмотрим, был ли создан каталог или нет, используя команду “ls “.

В результате было создано два каталога вместо одного.

Мы можем исправить это так же, как и в методе создания файла, используя (‘ ‘) или (\).

Снова создайте каталог, используя (‘ ‘) или (\).

Как ссылаться на имя файла с пробелами на Linux

Итак, мы видим, что каталог был создан в соответствии с нашими требованиями.

Теперь, если мы хотим просмотреть содержимое файла, мы просто используем cat и имя файла с пробелами; это выдаст нам ошибку, что каталог недоступен.

Мы должны использовать “\”.

Например, мы хотим просмотреть содержимое тестового файла с помощью команды cat.

Файл пуст, поэтому система не выводит никаких результатов, но команда выполняется успешно.

Мы также можем открывать файлы, используя апострофы (‘ ‘) или кавычки (” “) как:

Удаление файлов с пробелами в имени на Linux

Аналогично, вы можете удалить файл и каталог с пробелом в имени, используя апострофы ( ‘ ‘ ), кавычки (” “) или последовательность символов ( \ ).

Аналогичным образом можно удалить каталог с пробелами в имени.

Заключение

Мы создаем файлы и каталоги, не обращая внимания на имена, в которых могут присутствовать пробелы.

Терминал Linux по-разному обрабатывает файлы и папки, в именах которых есть пробелы.

Поэтому в этой статье мы решили эту проблему.

Если мы хотим назвать файл или каталог с пробелами, мы можем сделать это с помощью апострофов ( ‘ ‘ ), кавычек (” “) или экранирующей последовательности ( \ ).

Источник

Как указать имя файла с пробелами в Linux

Главное меню » Linux » Как указать имя файла с пробелами в Linux

Различные причины удерживают нового пользователя Linux подальше от командной строки, одна из которых обрабатывает файлы в терминале. Файлы и каталоги в Linux могут иметь разные имена, а в некоторых именах могут быть «пробелы». Так в чем же дело? Проблема в том, что терминал по- разному читает «пробел»; например, если ваш каталог имеет имя «new folder», терминал примет два разных каталога, то есть «new» и «folder». Доступ к таким файлам в терминале может стать очень неприятным. К счастью, существуют различные методы работы с файлами/папками, в именах которых есть пробелы.

Читайте также:  Windows boot flash from iso

В этой статье основное внимание уделяется тому, как ссылаться на имя файла с пробелами в Linux с помощью различных подходов. Итак, начнем:

Как получить доступ к файлам/каталогам в терминале с пробелами в имени:

В этом разделе мы сначала создадим файл с пробелом в его имени; Затем мы узнаем, с какими ошибками мы сталкиваемся при обращении к нему, а затем как правильно получить к нему доступ в терминале:

Как создать файл и каталог с пробелом в имени:

Создать файл в Linux с пробелом в имени очень просто, откройте терминал и выполните команду, указанную ниже:

Файл может быть создан с использованием апострофов или кавычек. Процедура создания каталога очень похожа:

Вы можете проверить это с помощью команды «ls» в терминале.

Как прочитать файл с пробелом в имени:

Прежде чем мы узнаем, как правильно читать файл с пробелом в имени, давайте определим ошибку, которую он может дать. Поэтому, когда вы попытаетесь прочитать созданный выше файл (my file), вы получите сообщение об ошибке:

Теперь посмотрим, что происходит, когда вы пытаетесь что-то записать в файл:

Как видно, приведенная выше команда вместо записи «my file» создает новый файл с именем «my» и сохраняет в него текст. Итак, как получить доступ к такому файлу? Что ж, есть два подхода:

  • Использование escape-символа, например “\ ”
  • Использование апострофов или кавычек

Итак, прежде всего, давайте вставим текст в созданный выше файл, используя ;“\ ”:

Чтобы прочитать это, используйте:

Теперь, чтобы прочитать это, используйте:

Как получить доступ к каталогу, в названии которого есть пробел:

При работе в терминале доступ к другому каталогу является одной из распространенных задач. Поэтому, когда вы пытаетесь получить доступ к каталогу с пробелом в его имени, он выдаст ошибку:

Это становится сложной задачей, особенно при доступе к пути, в имени которого есть папка с пробелом. Итак, самый простой способ – использовать апострофы, кавычки или escape-символ (\).

Вы также можете использовать обратную косую черту «\»:

Как получить доступ к двум или более файлам/каталогам с пробелами в их именах:

Чтобы получить доступ к нескольким файлам/каталогам, вы можете использовать апострофы отдельно для каждого имени файла / каталога или применять апострофы ко всему пути. Давайте разберемся с этим на примере:

В этой команде, мы копируем файл «my file» из каталога «my dir» в папку «files». В первой команде мы использовали апострофы отдельно, а во второй команде я использовал их для всего пути, оба будут выполнять одну и ту же работу, но последнее было бы намного легче запомнить.

Заключение:

Доступ к файлу/каталогу в терминале с пробелом в его имени звучит как простая работа, пока вы не получите ошибку, особенно при изменении каталога или копировании файлов по пути. Есть два основных способа работы с такими файлами или каталогами; в одном используются escape-символы, т. е. обратная косая черта (\ ) , а во втором – апострофы или кавычки. Использование обратной косой черты может сбивать с толку; проще и лучше использовать кавычки или апострофы. Нажатие «вкладки» – еще один быстрый способ автозаполнения пути во время работы в терминале.

Источник

Оцените статью