Olá, Victor!
Bem legal explorar a ordem dos comandos usando o 'pipe', é uma boa forma de aprender de modo significativo e contextualizado.
No exemplo que você deu, você executou o comando 'tail -n 5' primeiro, o que retornará as últimas 5 linhas do arquivo. Depois, você aplicou o filtro 'grep' para buscar por 'systemd'. Se nenhuma dessas 5 linhas contiver 'systemd', o resultado será de fato um retorno vazio, pois o filtro 'grep' não encontrará o que procurar.
Aqui está um exemplo prático para ilustrar isso:
Suponha que temos um arquivo chamado 'meu_arquivo.txt' com o seguinte conteúdo:
linha 1: systemd
linha 2: systemd
linha 3: systemd
linha 4: outro conteúdo
linha 5: outro conteúdo
linha 6: outro conteúdo
linha 7: outro conteúdo
linha 8: outro conteúdo
Se executarmos o comando 'tail -n 5 meu_arquivo.txt | grep systemd', o resultado será um retorno vazio, pois as últimas 5 linhas (que são selecionadas pelo comando 'tail -n 5') não contêm 'systemd'.
No entanto, se invertermos a ordem dos comandos e executarmos 'grep systemd meu_arquivo.txt | tail -n 5', obteremos as últimas 5 linhas que contêm 'systemd' (neste caso, apenas 3 linhas), pois primeiro estamos filtrando as linhas que contêm 'systemd' e depois selecionando as últimas 5 dessas linhas.
Lembre-se de que a ordem dos comandos é importante ao usar o 'pipe' e pode afetar o resultado final.
Bons estudos!