Рейтинг:0

[] подстановочный знак не работает

флаг gb

Я смотрел обучающее видео для изучения подстановочных знаков Linux и выучил некоторые из них, такие как {},*,?,[] и т. д. После этого я хотел немного попрактиковаться и попытался создать каталог 300 в папке, имена которой выглядят так: папка 1, папка 2, папка 3 ..., затем я попытался создать 100 файлов с именами вроде file1.txt, file2.txt, file3.txt ... И затем я написал эти команды в терминал:

https://i.stack.imgur.com/7kOMn.png

Я понял, что не могу создать то, что хочу, поэтому я попробовал другой подстановочный знак, который является «{}», и после этого я написал эти команды в терминал:

https://i.stack.imgur.com/E576w.png

Как видите, в конце процесса у меня все получилось, но я до сих пор не знаю, почему подстановочный знак «[]» не сработал. В видео, которое я смотрел, человек написал команды, как на первой картинке, которую я оставил, и после этого папки были созданы. Может кто-нибудь объяснить мне, почему этот подстановочный знак не сработал?

флаг cn
Ray
То, что кто-то снял видео и разместил его в сети, не означает, что оно правильное. Для начала, возможно, он не использовал оболочку bash?
pLumo avatar
флаг in
К сожалению, даже [tldp.org](https://tldp.org/LDP/GNU-Linux-Tools-Summary/html/x11655.htm) говорит, что `{}` будет подстановочным знаком. Но это не так, это совсем другой механизм, хотя его можно использовать аналогичным образом, по крайней мере, для выбора существующих имен.
Рейтинг:9
флаг in

Это потому, что вы не хотите использовать подстановочный знак. А подстановочный знак это выбрать существующий имена. (Видеть Расширение имени файла)

  • ? является подстановочным знаком для любого символа ровно один раз.
  • * является подстановочным знаком для любого символа, любое количество раз.
  • [] является подстановочным знаком класса символов, совпадающим с классом (набором из одного или нескольких символов) один раз. Внутри скобок вы устанавливаете разрешенные символы для соответствия. [1-300] не будет работать.

{...} это то, что вы хотите, но это не подстановочный знак, он называется расширение скобки.

К сожалению, некоторые учебники ошибаются в этом.

TarikTEM avatar
флаг gb
О, все обрело смысл в моем уме прямо сейчас, спасибо за ваш ответ

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.