|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 01 Mar 2002 14:38:00 To : "Alexander V. Gaiduk" Subject : Re: Hа: Как удалить файл? -------------------------------------------------------------------------------- Здравствуй, Alexander V. Gaiduk. AVG> > В юниксе в имени файла недопустимо два символа: / (разделитель пути) и \0 AVG> > (ограничитель сишной строковой константы). Все. Если ты не умеешь создать AVG> > файл, содержащий & в имени, из какой-либо интерактивной программы, это AVG> > совершенно не аргумент. AVG> :)) AVG> как то давно было дело создал под древним Interactive UNIX файлик "*.*" AVG> а потом под его DOS эмулятором - vpix пытался уго удалить, а в том же AVG> каталоге AVG> лежали еще другие файлы... AVG> сорри за оффтоп, ну раз пошла такая тема - вот вопрос: AVG> я понял что API в юнихе позволяет создать файл с любыми сиволами, AVG> но согласитесь, '*' в имени файла это ненормально. есть ли какие правила AVG> по набору символов для имени файла/каталога, чтоб с учетом метасимволов AVG> разных шеллов. Есть :-) Говоришь man <соответствующий шелл> и читаешь. Так, например, в моем zsh есть стандартные * (RE .*, но хитро - * в начале шаблона не матчит точку, с которой начинается имя файла), ? (RE .?), [] (RE [], но без \-подстановок (а вот POSIX классы, кажется, есть)). Если покрутить опции, то в метасимволы попадают ^, ~ (различные варианты "кроме"), # (не помню), <> (числовой интервал), можно заставить * матчить файлы, начинающиеся с точки, и еще каких-то гитик оно умеет. А еще есть глоббинг через / (матчинг через / есть в шеллах в case везде, а вот глоббинг в норме через / не переходит), в том числе и рекурсивно по поддиректориям. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/6359b038958e.html, оценка из 5, голосов 10
|