Eu estou selecionando aleatoriamente arquivos de um diretório que eu quero processar, e eu quero aplicar o comando touch a eles para que eu conheça o último que foi visualizado, então aplique o programa de visualização. Algo assim:
while [ 1 ]; do ls | shuf | xargs "touch & vizprogram"; done
Como estou inspecionando manualmente esses conjuntos de dados, quero poder "Esc" do loop em qualquer ponto, para que eu interrompa o vizprogram e passe pelo loop novamente. Então, quando eu encontrar um arquivo que eu quero seguir, eu quero Ctrl + C e fazer um ls -rt | tail -n 1
para ter o nome do último arquivo que usei. Eu tentei isso com um loop for ou while em vez de xargs
, mas eu não posso fazer "Esc" no loop principal.
Alguma idéia de como fazer o "toque então vizprogram" dentro de xargs?
Ctrl-C
funciona muito bem com a minha resposta. Deixe-me saber se eu perdi o ponto, vou apagá-lo então.vizprogram
, não há como fazer isso além do que eu sugiro. Seuxargs
correções de métodovizprogram
com todos os arquivos como argumentos, em ordem - você não pode intercalar outra coisa com uma única chamada de programa. Chamadas individuais para cada arquivo, semelhante ao que sugiro ou editovizprogram
são suas únicas opções que tenho medo (embora esteja ansioso para ser provado errado).