Вложенные строки в команде bash [дубликат]

cat не нужно запоминать какие-либо части файла, которые он уже отправил, от ввода до вывода. Другими словами, он использует память O (1) .

head также не нужно запоминать части файла, которые он уже отправил, ему нужно только их подсчитать. Более того, ему даже не нужно читать весь ввод; он может остановиться, когда достигнет количества строк, запрошенных при выводе.

1
20.02.2016, 21:32
1 ответ

Благодаря комментариям у меня есть две версии, которые работают. Обратите внимание, что я внес несколько изменений (чтобы найти только shebang в начале строки) и разрешить пробелы после shebang.

sudo bash -c 'for logf in $(find / -name "*.py"); do grep '^\\#\\!/usr/bin' "$logf"; done'

По какой-то причине, когда я пытался разрешить пустое пространство после shebang, я не мог заставить его работать.

Еще лучше (и проще)

sudo find / -name "*.py" -exec grep '^#! */usr/bin' {} \;
1
27.01.2020, 23:48

Теги

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