Comando para listar apenas os arquivos de saída da operação do gcc? [fechadas]

-2

Eu tenho um diretório com muitos programas c e alguns outros arquivos.

Depois de executar gcc -o output_name filename.c em arquivos c, eu tenho os respectivos arquivos de saída na mesma pasta.

Qual comando de terminal e como devo usá-lo para exibir apenas esses arquivos de saída.

Obrigado e cumprimentos!

    
por srk_cb 10.05.2015 / 07:01

2 respostas

3

Como foi dito na sua outra pergunta , gcc -o output_name filename.c produz output_name que não tem extensão. Por que deveria? Você não contou para isso. Na próxima vez, execute o comando, dando ao nome do arquivo de saída uma extensão. Algo como .bin ou .exe ou .myexecutableprogram ou o que for. Extensões de nome de arquivo são arbitrárias no Linux.

Já que você já fez isso, poderá usar alguns truques para conseguir o que deseja:

  1. Lista todos os arquivos executáveis no diretório atual. Como gcc irá configurar automaticamente seu arquivo de saída para ser executável, se você não tiver nenhum outro executável nesse diretório, isso pode ser suficiente:

    find . -maxdepth 1 -type f -executable 
    
  2. Pesquise seus comandos history for gcc , extraia o nome da saída e liste todos os arquivos correspondentes:

    ls $(history | grep -Po "gcc -o\s*\K.*?\s")
    

    Observe que isso pressupõe que os nomes dos arquivos de saída não contenham espaços ou linhas novas e que você nunca tenha usado variáveis como nomes de arquivos (por exemplo, for file in *c; do gcc -o $file.exe $file ou comandos semelhantes).

por terdon 10.05.2015 / 12:50
1

com comando ls temos opção como esconder

--hide=PATTERN
          do not list implied entries matching shell  PATTERN  (overridden
          by -a or -A)

Por isso, ele ocultará todos os que foram correspondidos e mostrará o que não corresponde.

Por exemplo, como no seu caso

ls --hide='*.c'

Como você disse, seu diretório contém C Programs e seus arquivos de saída, o comando acima irá excluir todos os arquivos .c e mostrar o que mais.

Espero que ajude.

    
por rɑːdʒɑ 10.05.2015 / 07:07