Как восстановить файлы, удаленные из /usr/bin?

*.d расширяется до файлов, имена которых заканчиваются на .d.

С помощью zshможно сделать:

files=(*)
mkdir -- $^files.d

Или с анонимной функцией:

() { mkdir -- $^argv.d; } *

Или добавление суффикса через квалификатор eglob:

mkdir -- *(e{REPLY+=.d})

Или модификатор истории :s, примененный к глобусам (с histsubstpatternдля %, означающим конец):

set -o histsubstpattern
mkdir -- *(:s/%/.d)

Вы также можете не делать этого для файлов, которые уже являются каталогами или символическими ссылками на каталоги, добавив квалификатор ^-/glob:

files=(*(^-/))
mkdir -- $^files.d

(обратите внимание, что zshне имеет такой неправильной функции, как другие Bourne -, такие как оболочки, в которых шаблоны, которые не совпадают, передаются как -, поэтому mkdir *.dне будет создавать каталог *.d, если в текущем каталоге не было файла, соответствующего *.d, вместо этого команда прервалась бы с ошибкой)

2
30.05.2020, 03:49
0 ответов

Теги

Похожие вопросы