Introdução

Parte 5

Buscar, selecionar e transformar sem abrir cada arquivo

Busca é uma forma de raciocinar sobre o projeto, não apenas navegar mais rápido.

Buscar é fazer uma pergunta ao projeto

Descreva nome, texto, tipo ou caminho inicial. Em projeto desconhecido, perguntas cada vez menores constroem um mapa baseado em fatos.

Prepare um espaço pequeno e seguro

Crie o arquivo de exemplo, copie e altere alpha para beta na cópia. Dados com resposta conhecida tornam a validação simples.

Comece o arquivo com isto
project=alpha
status=draft
owner=Max
note=rename images before release
install md code copy find replace stat attr
cd lil-playground
md project/search
code project/search/notes.txt -n
copy project/search/notes.txt project/search/notes-2.txt
replace alpha beta project/search/notes-2.txt -w

Nome e conteúdo são dimensões diferentes

-f busca nomes; -t busca texto. Caminho, extensão e caixa definem o limite da pergunta.

find notes -f -p project/search
find draft -t -p project/search
find owner -t -e txt -p project/search

Primeiro restrinja, depois amplie

Comece no menor diretório possível. Um conjunto compreensível é mais seguro do que uma busca global complicada.

find project -F -p .
find status -t -h -p project/search
find Max -t -c -p project/search

Substituição em massa deve começar como relatório

replace só mostra o que faria por padrão. Revise e só então adicione -w; use -b quando quiser cópias de segurança.

replace draft reviewed project/search -r -e txt
replace draft reviewed project/search -r -e txt -w -b
find reviewed -t -p project/search

Metadados também são evidência

stat e attr confirmam tamanho, MIME, dimensões e outras propriedades do arquivo encontrado.

stat project/search/notes.txt
attr project/search/notes.txt size
attr project/search/notes.txt mime

Uma transformação verificada já é uma pequena tecnologia

Salve busca, pré-visualização, escrita e verificação em .lil. O conhecimento útil está no método repetível que você entende, não em um único comando.

Guarde isto como script

Depois de conferir o preview, salve como review-status.lil.

#lil
@install find replace stat attr
cd lil-playground
find draft -t -p project/search
replace draft reviewed project/search -r -e txt
replace draft reviewed project/search -r -e txt -w -b
find reviewed -t -p project/search
stat project/search/notes.txt