Digamos que eu tenha um list.txt
dos arquivos que desejo verificar.
cat list.txt
e para cada arquivo, quero realizar uma ação
cat list.txt | xargs -I {} touch {}
Mas, dependendo do resultado da ação, quero reagir de acordo:
cat list.txt | xargs -I {} touch {} | if [-z - ]; then echo "blank file"; fi;
Isso não funciona corretamente, e não sei por que não ...
Então, como posso testar corretamente o valor de stdout
-? -
- e, como bônus, como eu poderia passar o conteúdo de {}
para a parte final? Para o efeito de:
cat list.txt | xargs -I {} touch {} | if [-z - ]; then echo "{} is a blank file"; fi;
Talvez isso deva ser um script bash completo, mas eu preferiria que pudesse aprender a fazer isso em uma linha, já que os aplicativos para isso poderiam ser úteis de várias maneiras -
Aqui está um exemplo mais prático:
time john -incremental -stdout | grep 'clientsWeakPassword' | if [ ! -z - ]; then exit 0;
Assim, esse script geraria senhas aleatoriamente e pararia quando atingisse a senha especificada, exibindo a quantidade de tempo necessária para 'decifrar' essa senha ...
E, idealmente, também seria produzido algo como "'clientsWeakPassword' levou o Xminutes a decifrar usando adivinhações aleatórias" -
Mas essa cadeia também pode ser usada para verificar uma determinada coisa nos arquivos de log, etc, etc, etc. -
De qualquer forma, espero que alguém me aponte na direção certa.
Muito obrigado -