У меня есть каталог со многими программами на c и некоторыми другими файлами.
После выполнения gcc -o output_name filename.c
для файлов c у меня есть соответствующие файлы вывода в той же папке.
Какую команду терминала и как использовать для отображения только этих выходных файлов.
Спасибо и привет!
Поскольку Вам сказали в Вашем , другой вопрос , gcc -o output_name filename.c
производит output_name
, который не имеет никакого расширения. Почему должен он? Вы не сказали это. В следующий раз, выполненный команда, дающая выходной файл, называют расширение. Что-то как .bin
или .exe
или .myexecutableprogram
или что бы то ни было. Расширения файла произвольны в Linux.
, Так как Вы теперь уже сделали это, Вы смогли использовать несколько приемов для получения то, что Вы хотите:
Список все исполняемые файлы в текущем каталоге. С тех пор gcc
автоматически установит его выходной файл, чтобы быть исполняемым файлом, если у Вас не будет никаких других исполняемых файлов в том каталоге, это могло бы быть достаточно:
find . -maxdepth 1 -type f -executable
Перерывают Ваш history
для gcc
команды, извлекают выходное имя и перечисляют все файлы соответствия:
ls $(history | grep -Po "gcc -o\s*\K.*?\s")
Примечание, что это берет Ваши имена выходного файла, не содержит пробелов или новых строк и что Вы никогда не использовали переменные в качестве имен файлов (например for file in *c; do gcc -o $file.exe $file
или подобные команды.)
с ls управляют, чтобы у нас была опция, любят, скрываются
--hide=PATTERN
do not list implied entries matching shell PATTERN (overridden
by -a or -A)
, Таким образом, это скроет все подобранные и покажет что не подобранный.
, Например, как в Вашем случае
ls --hide='*.c'
, Поскольку Вы сказали, что Ваш каталог содержит Программы C и его выходные файлы, вышеупомянутая команда исключит все.c файлы и покажет что еще.
Hope, которая помогает.
cat data
и затем esc {
, и он заполнит 1,2,3 так для однако многих файлов, у Вас есть Вы, может иметь удар, соответствуют им всем.
– Mitch
10 August 2016 в 07:26