Понимание команды

Я не понял код, который я использовал, как следующий

find . -type f -size 1033c ! -executable -exec file {} + | grep ASCII

Я понял первую часть о типе и размере, но где можно я полностью понимаю команду grep и что следует после! и что это означает Буду признателен за любую информацию о том, что делать, с чего начать Я действительно увлечен такими вещами, у меня много терпения и времени, любая помощь будет оценена Заранее спасибо

0
задан 17 November 2020 в 23:11

2 ответа

Вы можете использовать man , чтобы прочитать руководство или «справочные страницы» для большинства команд.

Итак, если вы хотите узнать больше о grep и о том, как его использовать, откройте терминал и запустите man grep .

1
ответ дан 3 January 2021 в 22:49

Команда find находит и выводит список файлов или папок с указанными свойствами. В этом случае они должны быть файлом ( -типа f ) размером ровно 1033 байта, а не исполняемым (! означает не ).

Для каждого из этих файлов выполняется команда после -exec . В этой команде {} обозначает имя файла. Вы можете запустить команду для каждого файла. Однако в этом случае + указывает, что одна команда должна быть построена из имен файлов. Таким образом, если команда find вернет mytext1.txt , mytext2.txt и mytext3.txt , результирующая команда будет

file mytext1.txt mytext2.txt mytext3.txt | grep ASCII

Команда file определяет тип файла, будь то текстовый файл, двоичный файл, исполняемый файл и т. Д. Таким образом, тип каждого из них определяется, и только строки, содержащие ASCII возвращаются командой grep .

См. man find , man file и man grep для объяснения каждого команд в этой единственной строке.

5
ответ дан 3 January 2021 в 22:49

Другие вопросы по тегам:

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