- ⚕ Как прочитать имя файла с пробелами в Linux
- 1) Создание имени файла с пробелами
- 2) Прочитать файл с пробелами в имени файла
- 3) Создание имени каталога с пробелами
- 4) Переход в каталог с пробелами в имени
- 5) Копирование каталога с пробелами в имени этого каталога
- bash-скрипты: пробелы в именах файлов
- Re: bash-скрипты: пробелы в именах файлов
- Re: bash-скрипты: пробелы в именах файлов
- Re: Re: bash-скрипты: пробелы в именах файлов
- Re: Re: bash-скрипты: пробелы в именах файлов
- Re: Re: Re: bash-скрипты: пробелы в именах файлов
- Re: Re: Re: Re: bash-скрипты: пробелы в именах файлов
- Re: bash-скрипты: пробелы в именах файлов
- Re: Re: bash-скрипты: пробелы в именах файлов
- 🐧 Работа с именами файлов с пробелами в системах Linux
- Как создать файл с пробелами в имени на Linux
- Как ссылаться на имя файла с пробелами на Linux
- Удаление файлов с пробелами в имени на Linux
- Заключение
- Как переименовать файлы с пробелами, используя оболочку Linux?
- 5 ответов 5
- Как указать имя файла с пробелами в Linux
- Как получить доступ к файлам/каталогам в терминале с пробелами в имени:
- Как создать файл и каталог с пробелом в имени:
- Как прочитать файл с пробелом в имени:
- Как получить доступ к каталогу, в названии которого есть пробел:
- Как получить доступ к двум или более файлам/каталогам с пробелами в их именах:
- Заключение:
⚕ Как прочитать имя файла с пробелами в 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, выполните:
Надеюсь, что эта статья хорошо объяснила, как управлять файлами и каталогами с пробелами в имени.
Спасибо, что нашли время, чтобы прочитать эту статью и, пожалуйста, оставьте свои комментарии. ?
Источник
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
Источник
🐧 Работа с именами файлов с пробелами в системах Linux
Это нормально, что мы создаем файлы и каталоги (или можно сказать папки) на наших машинах, чтобы, когда нам нужно, мы могли легко их найти.
Иногда мы сохраняем их с именами, содержащими пробелы, например, мы сохраняем файл с именем “my file”, в этом случае терминал Linux выдаст ошибку.
Можно ли сохранять файлы без пробелов в Linux?
Можно, но доступ к ним в терминале будет осуществляться по-другому.
Эта статья посвящена тому, с какими ошибками мы сталкиваемся при доступе к файлам и каталогам с пробелами в именах и как избежать этих ошибок.
Как создать файл с пробелами в имени на Linux
Чтобы понять, как ссылаться на имя файла с пробелами в Linux, рассмотрим пример.
Сначала откроем терминал.
Затем создадим файл с именем “my file” с помощью команды touch:
Теперь посмотрите, создался файл или нет, используя команду “ls”.
Мы увидим, что вместо одного файла было создано два, один с именем “my”, а второй с именем “file”.
Для использования пробелов в имени мы используем либо кавычки (‘ ‘), либо экранирующую последовательность (\).
Теперь мы снова создадим еще один файл, используя (‘ ‘) и еще один, используя (\).
Теперь снова используйте команду “ls” для просмотра файлов.
Файлы были созданы.
Давайте проверим, получим ли мы те же ошибки при создании каталога с использованием пробела или нет.
Создадим каталог с пробелом с помощью команды mkdir.
Мы посмотрим, был ли создан каталог или нет, используя команду “ls “.
В результате было создано два каталога вместо одного.
Мы можем исправить это так же, как и в методе создания файла, используя (‘ ‘) или (\).
Снова создайте каталог, используя (‘ ‘) или (\).
Как ссылаться на имя файла с пробелами на Linux
Итак, мы видим, что каталог был создан в соответствии с нашими требованиями.
Теперь, если мы хотим просмотреть содержимое файла, мы просто используем cat и имя файла с пробелами; это выдаст нам ошибку, что каталог недоступен.
Мы должны использовать “\”.
Например, мы хотим просмотреть содержимое тестового файла с помощью команды cat.
Файл пуст, поэтому система не выводит никаких результатов, но команда выполняется успешно.
Мы также можем открывать файлы, используя апострофы (‘ ‘) или кавычки (” “) как:
Удаление файлов с пробелами в имени на Linux
Аналогично, вы можете удалить файл и каталог с пробелом в имени, используя апострофы ( ‘ ‘ ), кавычки (” “) или последовательность символов ( \ ).
Аналогичным образом можно удалить каталог с пробелами в имени.
Заключение
Мы создаем файлы и каталоги, не обращая внимания на имена, в которых могут присутствовать пробелы.
Терминал Linux по-разному обрабатывает файлы и папки, в именах которых есть пробелы.
Поэтому в этой статье мы решили эту проблему.
Если мы хотим назвать файл или каталог с пробелами, мы можем сделать это с помощью апострофов ( ‘ ‘ ), кавычек (” “) или экранирующей последовательности ( \ ).
Источник
Как переименовать файлы с пробелами, используя оболочку Linux?
Я назвал несколько файлов с пробелами в них, и я хочу заменить пробел на _ . Однако каждый раз, когда я пишу команду в оболочке с именем файла (например, Spring 2011 ), оболочка не распознает файл или каталог.
Что я могу сделать по этому поводу? Есть ли способ использовать символ Юникода для пробела?
5 ответов 5
Выйдите из пространства, например, Spring\ 2011 , или используйте кавычки, например ‘Spring 2011’ . В будущем, как правило, плохая идея использовать имена файлов с пробелами в них в любой * NIX.
Если у вас есть rename , вы можете использовать это:
Если на вашем компьютере есть команда переименования , тогда все пробелы в файле / директории в текущем рабочем каталоге будут заменены на подчеркивания:
Если у вас нет rename или вы предпочитаете использовать только оболочку:
- *\ * выбирает все файлы с пробелом в имени в качестве входных данных для цикла for .
- Кавычки вокруг «$f» важны, потому что мы знаем, что в имени файла есть пробел, и в противном случае он будет отображаться как 2+ аргумента mv .
- $
— это особенность подстановки строк в bash. Все экземпляры str заменены на new_str .
mv «Spring 2011.file» Spring_2011.file должен указать командной строке принять строку в кавычках в качестве одного ввода.
Чтобы программно переименовать N файлов, вы можете использовать простой цикл для bash .
Если у вас меньше , чем 5 имен файлов, то вы можете вручную ввести все имена файлов и использовать команду rename , как выше решение предлагает. Но для меня. Я предпочитаю программное решение . даже когда есть только 4 файла.
если вы не знакомы с расширением параметров Bash (например, $
Источник
Как указать имя файла с пробелами в Linux
Главное меню » Linux » Как указать имя файла с пробелами в Linux
Различные причины удерживают нового пользователя Linux подальше от командной строки, одна из которых обрабатывает файлы в терминале. Файлы и каталоги в Linux могут иметь разные имена, а в некоторых именах могут быть «пробелы». Так в чем же дело? Проблема в том, что терминал по- разному читает «пробел»; например, если ваш каталог имеет имя «new folder», терминал примет два разных каталога, то есть «new» и «folder». Доступ к таким файлам в терминале может стать очень неприятным. К счастью, существуют различные методы работы с файлами/папками, в именах которых есть пробелы.
В этой статье основное внимание уделяется тому, как ссылаться на имя файла с пробелами в Linux с помощью различных подходов. Итак, начнем:
Как получить доступ к файлам/каталогам в терминале с пробелами в имени:
В этом разделе мы сначала создадим файл с пробелом в его имени; Затем мы узнаем, с какими ошибками мы сталкиваемся при обращении к нему, а затем как правильно получить к нему доступ в терминале:
Как создать файл и каталог с пробелом в имени:
Создать файл в Linux с пробелом в имени очень просто, откройте терминал и выполните команду, указанную ниже:
Файл может быть создан с использованием апострофов или кавычек. Процедура создания каталога очень похожа:
Вы можете проверить это с помощью команды «ls» в терминале.
Как прочитать файл с пробелом в имени:
Прежде чем мы узнаем, как правильно читать файл с пробелом в имени, давайте определим ошибку, которую он может дать. Поэтому, когда вы попытаетесь прочитать созданный выше файл (my file), вы получите сообщение об ошибке:
Теперь посмотрим, что происходит, когда вы пытаетесь что-то записать в файл:
Как видно, приведенная выше команда вместо записи «my file» создает новый файл с именем «my» и сохраняет в него текст. Итак, как получить доступ к такому файлу? Что ж, есть два подхода:
- Использование escape-символа, например “\ ”
- Использование апострофов или кавычек
Итак, прежде всего, давайте вставим текст в созданный выше файл, используя ;“\ ”:
Чтобы прочитать это, используйте:
Теперь, чтобы прочитать это, используйте:
Как получить доступ к каталогу, в названии которого есть пробел:
При работе в терминале доступ к другому каталогу является одной из распространенных задач. Поэтому, когда вы пытаетесь получить доступ к каталогу с пробелом в его имени, он выдаст ошибку:
Это становится сложной задачей, особенно при доступе к пути, в имени которого есть папка с пробелом. Итак, самый простой способ – использовать апострофы, кавычки или escape-символ (\).
Вы также можете использовать обратную косую черту «\»:
Как получить доступ к двум или более файлам/каталогам с пробелами в их именах:
Чтобы получить доступ к нескольким файлам/каталогам, вы можете использовать апострофы отдельно для каждого имени файла / каталога или применять апострофы ко всему пути. Давайте разберемся с этим на примере:
В этой команде, мы копируем файл «my file» из каталога «my dir» в папку «files». В первой команде мы использовали апострофы отдельно, а во второй команде я использовал их для всего пути, оба будут выполнять одну и ту же работу, но последнее было бы намного легче запомнить.
Заключение:
Доступ к файлу/каталогу в терминале с пробелом в его имени звучит как простая работа, пока вы не получите ошибку, особенно при изменении каталога или копировании файлов по пути. Есть два основных способа работы с такими файлами или каталогами; в одном используются escape-символы, т. е. обратная косая черта (\ ) , а во втором – апострофы или кавычки. Использование обратной косой черты может сбивать с толку; проще и лучше использовать кавычки или апострофы. Нажатие «вкладки» – еще один быстрый способ автозаполнения пути во время работы в терминале.
Источник