帮助将控制台命令转换为右键单击命令

帮助将控制台命令转换为右键单击命令

我使用此控制台命令自动将某个目录中的所有文件发送到 JAR 文件,捕获该 JAR 文件的输出,最后从输出中创建新文件。以下是命令

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

现在,我知道如何制作通过 RightClick->Scripts 调用的 nautilus-script。

不知道如何将此命令转换为“转换所有文件当前选定目录”。当前选定的目录是我右键单击的目录。

任何人都可以提供帮助。谢谢。

答案1

这应该对你有用,如果出现奇怪的情况,请发表评论

#! /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  

当您右键单击文件夹时,它应该应用find该文件夹内的内容,如果您没有单击文件夹,它应该应用find当前文件夹内的内容。

将其保存在您的计算机中"$HOME/.gnome2/nautilus-scripts/<nameofthescript>.sh并且使用 使其可执行chmod 755 <nameofthescript>.sh

相关内容