Os 10 principais comandos de shell que você usa atualmente – Parte 2

Em um post anterior , demonstrei como você pode obter uma lista dos 10 principais comandos de shell que você usa atualmente e como usar essas informações para melhorar seu fluxo de trabalho.

Desde então, recebi uma série de sugestões e também pensei um pouco mais sobre este comando, então pensei que poderia oferecer uma variação na implementação.

A versão anterior usava awk , mas esta usará cut , da seguinte maneira:

history |
cut
-c8- |
cut
-d' ' -f1 |
sort |

uniq
-c |
sort
-nr |
head

Eu formatei esta solução para mostrar apenas um comando por linha, apenas para que seja fácil de ler e seguir minha descrição passo a passo.

1. Para começar, e sem surpresa, emitimos o comando history .

2. Em seguida, usamos cut para remover os primeiros 8 caracteres apenas da saída. Meu sistema é OS X, portanto, lembre-se de que, se você estiver em outro sistema, o espaçamento da saída pode variar um pouco.

3. Novamente usamos cut , mas desta vez aceitamos a saída do comando anterior usando a opção -d , onde especificamos a divisão em um único espaço, mas solicitamos que apenas o primeiro campo do conjunto de resultados seja retornado usando a opção -f .

4. O próximo item não é nada especial. Simplesmente classificamos a saída.

5. Em seguida, filtramos os resultados classificados usando uniq , mas nos certificamos de incluir a opção -c para preceder cada linha de saída com a contagem do número de vezes que a linha ocorreu na entrada, seguida por um único espaço. Agradecimentos especiais a @tdl por esta dica em meu post anterior .

6. Para arredondar os comandos usados ​​com mais frequência, temos a certeza de classificar a saída numericamente devido às contagens de comando fornecidas pelo uniq e fazer isso na ordem inversa, já que estamos interessados ​​primeiro nos comandos que ocorrem com mais frequência .

7. Por último, usamos head para mostrar os 10 principais comandos do shell . Claro, você sempre pode variar um pouco se estiver interessado em mais de 10, simplesmente especificando -n count , onde count deve ser substituído pelo número de resultados que você deseja.

A dica anterior era tão popular que achei que merecia um pouco mais de atenção. Acho que é um ótimo exemplo não apenas de como melhorar seu fluxo de trabalho, mas também de como os comandos do shell geralmente podem resolver problemas de várias maneiras.

Para obter mais dicas sobre UNIX, consulte
Learning the UNIX Command Line .

Aproveite,
Chip