LINUX.ORG.RU

История изменений

Исправление vbr, (текущая версия) :

Технически правильный подход это использовать нули. Всё остальное может попадаться в имени файла.

Если искать другие решения, в первую очередь приходит в голову двоеточие. Это относительно общепринятый в юниксе разделитель (например $PATH). Также двоеточие запрещено в винде, т.е. у опытных пользователей может быть какой-то неосознанный рефлекс против использования двоеточий в именах файлов, у меня - точно есть.

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

Ещё могу предложить какую-нибудь юникодную дрисню, которая точно не попадётся в имени файла, если специально не постараться. Там и пробелов штук 10 разных, и слеши всякие есть, и чего угодно можно найти.

Исправление vbr, :

Технически правильный подход это использовать нули. Всё остальное может попадаться в имени файла.

Если искать другие решения, в первую очередь приходит в голову двоеточие. Это относительно общепринятый в юниксе разделитель (например $PATH). Также двоеточие запрещено в винде, т.е. у опытных пользователей может быть какой-то неосознанный рефлекс против использования двоеточий в именах файлов, у меня - точно есть.

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

Ещё могу предложить какую-нибудь юникодную дрисню, которая точно не попадётся в имени файла, если специально не постараться. Там и пробелов штук 10 разных, и слеши всякие есть, и чего угодно можно найти.

Исходная версия vbr, :

Технически правильный подход это использовать нули. Всё остальное может попадаться в имени файла.

Если искать другие решения, в первую очередь приходит в голову двоеточие. Это относительно общепринятый в юниксе разделитель (например $PATH). Также двоеточие запрещено в винде, т.е. у опытных пользователей может быть какой-то неосознанный рефлекс против использования двоеточий в именах файлов, у меня - точно есть.

Ещё могу предложить какую-нибудь юникодную дрисню, которая точно не попадётся в имени файла, если специально не постараться. Там и пробелов штук 10 разных, и слеши всякие есть, и чего угодно можно найти.