SóProvas


ID
1727986
Banca
COVEST-COPSET
Órgão
UFPE
Ano
2015
Provas
Disciplina
Noções de Informática
Assuntos

Considere que no Linux temos dois arquivos de texto: 'arq1' e 'arq2'. As palavras que constam em 'arq1' são (uma por linha): 'Bola', 'Pato', 'Ave' e 'Cola'. As palavras que constam em 'arq2' são (uma por linha): 'losango', 'asa', 'bode' e 'peixe'. Considere que foi executado o comando: 'cat arq1 arq2 | sort | head –n 6 | tail –n 1 > arq3'. O conteúdo de 'arq3' é:

Alternativas
Comentários
  • alguem sabe?

  • a resposta ta errada. o correto é "losango"

    1º primeiro concatena arq1 com arq2

    Bola
    Pato
    Ave
    Cola
    losango
    asa
    bode
    peixe

    2º) ordena com sort

    asa
    Ave
    bode
    Bola
    Cola
    losango
    Pato
    peixe
     

    3ª) pegar os 6 primeiros com head

    asa
    Ave
    bode
    Bola
    Cola
    losango

    4ª) pega o ultimo com tail

    losango

    5ª escreve no arq3 com '>'

  • Concordo plenamente com o Antônio Ezequiel. A questão está errada. A resposta é losango.

     

  • Não entendi nada dessa questão.

     

  • 1- cat - concatena e/ou exibe um ou mais arquivos.

    Podemos usar o comando cat para exibir os arquivos na tela. Por exemplo,

    cat teste1 teste2

     

    2- sort - ordena as linhas de arquivos textos.

    O comando trata o arquivo como um conjunto de caracteres onde a ordem crescente é: espaços, números, letras maiúsculas [A-Z] e letras minúsculas [a-z]. Se houvesse outro comando além do sort seria:

    -b : ignora espaços em branco.

    -c : retorna uma mensagem de erro se o arquivo não estiver ordenado.

    -f : ignora a diferença entre letras maiúsculas e letras minúsculas.

    -r : organiza em ordem decrescente.

    -n : os valores numéricos são organizados na ordem aritmética.

     

    3- head - exibe as primeiras linhas de um arquivo texto.

    -n [num] : mostra as num primeiras linhas do arquivo (o padrão é 10).

    Ex: Para mostrar as 20 primeiras linhas do arquivo teste.txt:

    head -n 20 teste.txt

     

    4- tail - exibe as últimas linhas de um arquivo texto.

    -n num : mostra as num últimas linhas do arquivo (o padrão é 10 linhas).

    Ex: Para ver as útimas 20 linhas do arquivo teste, digite

    tail -n 20 teste

     

    Com tudo isso, realmente a palavra do arquivo 3 seria losango. Mas levando em conta que a ordem é primeiro maiúscula e depois minúscula, acho q apenas a ordem do colega acima ficou errada. Creio que seria: Ave, asa, Bola, bode, Cola, losango, Pato, peixe.

  • Gente, é o seguinte, utilizando o pensamento do pessoal só faltou um detalhe: a ordem é a seguinte letras maiúsculas [A-Z] e depois letras minúsculas [a-z], ou seja, independente da palavra começar com 'a' e a outra com 'B' quem virá primeiro na ordem é a palavra que começa com letra maiúscula. A ordem ficaria da seguinte forma: 

    1º primeiro concatena arq1 com arq2

    Bola
    Pato
    Ave
    Cola
    losango
    asa
    bode
    peixe

    2º) ordena com sort

    Ave

    Bola

    Cola

    Pato

    asa

    bode

    losango

    peixe

     

    3ª) pegar os 6 primeiros com head

     

    Ave

    Bola

    Cola

    Pato

    asa

    bode

    4ª) pega o ultimo com tail

    bode

    5ª escreve no arq3 com '>'

     

    http://www.uniriotec.br/~morganna/guia/sort.html

  • ASSERTIVA A - bode.

    Marquei no chute, porém, entendi um pouco da explicação nos comentários. 

  • Na minha máquina Linux (Ubuntu 16.04 LTS) não ordenou dessa maneira não!

  • Caros colegas essa questão está errada, o resultado do comando é "losango" executei o comando aqui e foi essa a saída, o modo como Túlio Tenório fez também esta errado, a saida do cat arq1 arq2  |sort é essa:

    'asa'
    'Ave'
    'bode'
    'Bola'
    'Cola'
    'losango'
    'Pato'
    'peixe'

     

    o que nos mostra que o sexto elemento da lista é o 'losango', como pede o comando head e o resultado do tail -n 1 será justamente 'losango', já que ele é o ultimo da linha, que será posto no arquivo >arq3

  • Ignorem os outros comentários, vão direto no Túlio Ricardo.

  • é sério que precisa decorar todos esses comandos do LINUX?

    GENTE DO CÉU! eu só quero ser assistente!! kkkkk

    Um mero usuário do LINUX precisa mesmo saber disso tudo? kk

  • A banca inverteu a função dos comando head e tail!

  • Não me canso de falar, examinador totalmente desequilibrado. kkkkkkkkk

  • Questão bem difícil essa! Requer conhecimento de diversos comandos e procedimentos específicos do Linux, além de uma pitada de Raciocínio Lógico. Para uma prova de assistente social, achei essa questão bizarra.

  • Muito cuidado com esse comando. A ordenação de sort pode variar a depender do environment definido no sistema.

    Testei num terminal cujos valores pra LC eram todos "pt_BR.UTF-8" (acessível pelo comando "locale"). O comando sort, nesse environment, ordenou, por padrão, primeiro números (0-9) e depois letras (A-Z). Nos "empates", deu-se preferência às minúsculas, aos espaços e, por fim, às maiúsculas. O resultado em arq3: "losango".

    Após, utilizei o comando "export LC_ALL=C", segui os mesmos passos e obtive, finalmente, o resultado "bode" em arq3. Nesse environment, a ordenação é a mesma indicada pelo colega Túlio.

    Visto que as bancas cobram Linux em sua versão padrão, a questão deveria ser anulada, pois nos environments padrões, a variável de LC responsável pela ordenação do comando sort jamais estará em C. É o que se depreende do próprio terminal ao digitar "man sort" (parte final):

    "*** WARNING *** The locale specified by the environment affects sort order. Set LC_ALL=C to get the traditional sort order that uses native byte values".

    Sendo assim, julgo pela anulação da questão.

  • Fico imaginando um assistente social no computador da repartição usando esse comando pra alguma coisa....

  • Pode ajudar a entender :

     

    https://www.youtube.com/watch?v=NamRiURAbmc

  • tem q se aprofundar no assunto mesmo p fzr uma prova eh vei poha eh essa