exelens 12.04.2009 10:06
Tips & tricks — Быстрый способ удалять из консоли несколько директорий за 1 раз.
Уверен, что многие из нас собирают разную информацию и раскладывают по директориям (музыка, книжки, фотки).Если у вас есть каталог, содержащий десять подкаталогов, и вы хотите удалить 4 из них, самый медленный способ -это вводить каждый раз команду.
rm -rf /home/ololo/lolo
rm -rf /home/ololo/boro
rm -rf /home/ololo/goro
rm -rf /home/ololo/yaolen
....
Согласитесь, нудно и долго.
Есть другой способ - использовать скобки.
rm -rf /home/ololo/{lolo,boro,goro,yaolen}
Быстрее?
Если бы ты внимательно прочёл пример команды, которую дал pluton, ты бы понял, что он просто неверно выразился. Имеются в виду пробелы после запятой в фигурных скобках. Первоначально в посте было написано следующее:
rm -rf /home/ololo/{lolo, boro, goro, yaolen}
, то есть после запятых стояли пробелы. Такая строка башем не разворачивается вообще, то есть остаётся такой, какой была (не веришь? замени rm -rf на echo и посмотри на вывод).
Да, знаем такой приёмчик. Реально удобно, причём не только при удалении директорий, но и при их создании, перемещении и т.д. Также такую штуковину можно юзать в aptitude — то есть что-то вроде aptitude install prog prog-doc записывается как aptitude install prog{,-doc}
Маленькие замечания:
Лишняя запятая.
s/:/ — это/ (вместо двоеточия тире и «это»)
Вместо точки в конце предложения надо поставить двоеточие, так как дальше по тексту идут собственно команды.
s/,/ —/
s/./:/
Но самое главное — это убрать пробелы после запятых в фигурных скобках (об этом писал pluton).
Маленькие замечания:
вы хотите удалить, 4 из них
Лишняя запятая.
самый медленный способ: вводить каждый раз команду.
s/:/ — это/ (вместо двоеточия тире и «это»)
Вместо точки в конце предложения надо поставить двоеточие, так как дальше по тексту идут собственно команды.
Есть другой способ, использовать скобки.
s/,/ —/
s/./:/
Но самое главное — это убрать пробелы после запятых в фигурных скобках (об этом писал pluton).
Быстрее?
Не особо. Если автодополнение настроить для случая со скобками - тогда да, быстрее, что и хотелось бы дополнительно увидеть в посте.
rm -rf /home/ololo/{lolo, boro, goro, yaolen}
только, афаик, в именах не должно быть пробелов, они задаются как есть, и подставляются по одному в команду:
rm -rf /home/ololo/{lolo,boro,goro,yaolen}
зы. оч удобно это юзать при компиляции простых прог:
$ g++ -o prog{,.cpp}
команда разворачивается в такую:
$ g++ -o prog prog.cpp