Ajuda a converter o comando console para clicar com o botão direito do mouse no comando

2

Eu uso este comando do console para enviar automaticamente todos os arquivos em algum diretório para o arquivo JAR, capturar a saída desse arquivo JAR e, finalmente, criar novos arquivos a partir da saída. Aqui está o comando

for i in 'find . -type f -name '*xml''; do java -jar "~/grabbertty.jar" $i > $i.txt; done  

Agora, sei como fazer o script nautilus, que será chamado via Scripts RightClick- & gt ;.

O que eu não sei é como converter este comando para dizer "converter todos os arquivos no diretório atualmente selecionado ". O diretório atualmente selecionado é um diretório no qual clico com o botão direito do mouse.

Qualquer um pode ajudar. Obrigado.

    
por ubuntico 22.10.2011 / 22:55

1 resposta

2

Isso deve fazer o truque para você, comentar se algo estranho aparecer

#! /bin/bash
base="'echo $NAUTILUS_SCRIPT_CURRENT_URI | cut -d'/' -f3- | sed 's/%20/ /g''"
if [ -z "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" ]; then
     dir="$base"
else
     while [ ! -z "$1" -a ! -d "$base/$1" ]; do shift; done
     dir="$base/$1"
fi

for i in 'find "$dir" -type f -name '*xml''; do java -jar "~/grabbertty.jar" $i > $i.txt; done  

Quando você clica com o botão direito em uma pasta, deve aplicar seu find dentro dessa pasta, se você não estiver clicando em uma pasta, deve aplicar o find dentro da pasta atual.

Salve em "$HOME/.gnome2/nautilus-scripts/<nameofthescript>.sh e torne-o executável com chmod 755 <nameofthescript>.sh .

    
por Bruno Pereira 23.10.2011 / 01:48