Neste artigo veremos mais alguns comandos ao lidar com arquivos. Veja o caso do comando
grep.
O comando 'grep' procura por uma string no arquivo alvo. Como saída, mostra as linhas onde a string aparece. O uso é conforme o abaixo:
grep [-vicnw] expressão arquivo
Nas opções acima, temos:
- '-v' mostra as linhas onde a string "não" aparece;
- '-i' desabilita o "case sensitive", ou seja, ignora a diferença entre maiúsculas e minúsculas.
- '-c' exibe a quantidade de vezes que a string aparece
- '-n' exibe o número de cada linha onde a string aparece
- '-w' exibe apenas as ocorrências onde a string inteira aparece. Isso pode ser importante, pois o grep mostra a ocorrência da string mesmo que ela seja apenas parte de uma outra string. Por exemplo, se você usar como alvo a string 'casa', surgirão as linhas onde estarão as palavras 'casa' e também 'casarão', 'casamento', 'casamenteiro', 'casaco', 'casado', e assim por diante.
Outro comando útil é o 'wc'. Ele conta o número de palavras, linhas e caracteres em um arquivo. Esta é a sintaxe:
wc [-clw] [arquivo1 arquivo2 ...arquivoN]
Os parâmetros indicados (clw) indicam caracter, linha e palavra, respectivamente. Por exemplo, 'wc -lw' indica ao comando para contar o número de linhas e de palavras, mas não o número de caracteres. Sem parâmetros, por padrão ele conta tudo.
Um uso interessante para 'wc' é descobrir quantos arquivos existem em um diretório: ' ls | wc -w'. Legal e muito útil, não? Se você precisa saber quantos arquivos terminam com '.c', use ' ls *.c | wc -w'.
Agora veja o comando 'ln':
ln [-s] arquivo nomeDoLink
Este comando cria um link, uma ligação ou atalho para um arquivo. Ele faz isso de duas 'formas': cria ou o chamado hard link ou simbolic link, mais ou menos como 'ligação forte' e 'ligação fraca'. No hard link ele apontará para o arquivo em si. Portanto, se todos os hard links para um arquivo forem removidos, ele também o será. No caso de um simbolic link, isso não acontece. É criado apenas um 'atalho' para o arquivo, de tal forma que possa indicar um arquivo, talvez usando um nome mais fácil
A opção '-s' serve para especificar que o link será do tipo simbolic link. Por padrão, o link será do tipo hard link.
Outro comando legal ;) que veremos é o 'find'. Este é um comando extremamente útil, com variadas utilidades, e portanto não esgotaremos o assunto aqui. Trataremos de como procurar arquivos usando o 'find'.
A sintaxe é a seguinte:
find caminho [expressão]
É muito simples entender como funciona. você diz onde deseja que comece a procura (caminho) e qual tipo de procura você deseja.
Na sintaxe acima, onde vemos 'expressão', podemos ter quatro tipos de argumentos: opções, testes, ações e operadores. Vejamos as opções e os testes.
As opções afetam o comportamento do próprio comando find. Ou seja, você diz para o comando como ele deve trabalhar. Por exemplo, quando 'find' encontra um link simbólico, ele o vê como um link realmente e o trata como tal. Se a opção '-L' for usada, 'find' não 'examina' o link e sim o arquivo para o qual o link está apontando.
Os 'testes' são, de fato, testes! Como exemplo, veja o teste '-empty': testa se o arquivo vazio.
É isso aí, pessoal. Até o próximo artigo.