How can I use $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS

I wort a bash script it looks like this:

#!/bin/bash
D=`zenity --entry --entry-text='Folder'`
pattern1=`zenity --entry --entry-text='replace'`
pattern2=`zenity --entry --entry-text='by'`
cd "$D"
rename "s/$pattern1/$pattern2/g" *
zenity --info --text="Done"

it works very well. I add it to nautilus scrips folder (~/.gnome2/nautilus-scripts), and I make some changes :

#!/bin/bash
pattern1=`zenity --entry --entry-text='replace'`
if [ "$?" -eq 1 ]
then
    exit
fi
pattern2=`zenity --entry --entry-text='by'`
if [ "$?" -eq 1 ]
then
    exit
fi
rename "s/$pattern1/$pattern2/g" \'$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS\'
zenity --info --text="Done"

but it does not work. I hope that I find some help thanks in advance.

Answers


Problem resolved,by two ways. the first one:

using a for loop:

#!/bin/bash
pattern1=`zenity --entry --entry-text='replace'`
if [ "$?" -eq 1 ]
then
    exit
fi
pattern2=`zenity --entry --entry-text='by'`
if [ "$?" -eq 1 ]
then
   exit
fi
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
   do
     rename "s/$motif1/$motif2/g" "$file"
done
zenity --info --text="Done"

the second : using a while loop:

#!/bin/bash
pattern1=`zenity --entry --entry-text='replace'`
if [ "$?" -eq 1 ]
then
    exit
fi
pattern2=`zenity --entry --entry-text='by'`
if [ "$?" -eq 1 ]
then
   exit
fi
echo $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS | while read 'file'
do
  rename "s/$motif1/$motif2/g" "$file"
done
zenity --info --text="Done"

the question now is why I have to do that and the answer is because $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS is a sequence even if one file is selected we will find in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS the file selected path and a separator character you can see that by using this commande:(add it to the script)

zenity --entry --entry-text="$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"

I hope that this can be usefull for someone Inspired by that


Need Your Help

Targeting an iframe element using colorbox

javascript jquery jquery-plugins

I have a link displaying the contents in the colorbox plugin via the iframe method and would like to target specific elements inside the iframe.

Class Templates - Undefined reference to my Node class' deconstructor.

c++ templates netbeans

I am implementing an Ordered List data structure in C++ using class templates.For simplicity, I implemented each constructor and function inline. I made my own Node class for this project.

About UNIX Resources Network

Original, collect and organize Developers related documents, information and materials, contains jQuery, Html, CSS, MySQL, .NET, ASP.NET, SQL, objective-c, iPhone, Ruby on Rails, C, SQL Server, Ruby, Arrays, Regex, ASP.NET MVC, WPF, XML, Ajax, DataBase, and so on.