如果输出文件名原来是其他的,如何更改输出文件名

时间:2010-09-02 13:01:01

标签: bash filenames

我有两个名字不同的文件。我有一个for循环来查看是否有一个文件;如果是,则会更改文件。

我的第一个想法是列出所有文件及其对应的内容。这看起来不太好,我无法涵盖脚本中的所有可能性。如果这是唯一的方法,我该如何做到最好?

该脚本将查找程序是否在桌面上有图标。如果有,那么我的脚本将使用ImageMagick更改其大小。我的问题是程序的名称并不总是与图标文件相同。所以我不确定最好的行动是什么......

我需要将“rtcom-call-ui.desktop”与“general_call.png”配对,以便可以在我的脚本中找到它。该脚本找不到“general_call.png”,因为它正在寻找“rtcom-call-ui.png”。

for applet in $appletDir*
do
    app=`basename $applet | sed -e 's/.*://g' -e 's/.*osso-//g' -e 's/\.desktop.*//g'`
    find=`find $icoDir64 $icoDirSca | grep .png` 

    for file in $find
    do
        base="`basename ${file}`"

        if [ "${base}" = "${app}.png" -o "${base}" = "tasklaunch_${app}.png" -o "${base}" = "general_${app}.png" ]; then
            echo "WORKING!!!!!!!!!!!!!!!!!! $file" 
        fi
    done
done

1 个答案:

答案 0 :(得分:0)

在gnome上,桌面启动器是.desktop文件:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Name=GIMP Image Editor
GenericName=Image Editor
Comment=Create images and edit photographs
Exec=gimp-2.6 %U
TryExec=gimp-2.6
Icon=gimp
Terminal=false
Categories=Graphics;2DGraphics;RasterGraphics;GTK;
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=GIMP
X-GNOME-Bugzilla-Component=General
X-GNOME-Bugzilla-Version=2.6.7
X-GNOME-Bugzilla-OtherBinaries=gimp-2.6
StartupNotify=true
MimeType=application/postscript;application/pdf;image/bmp;image/g3fax;image/gif;image/x-fits;image/pcx;image/x-portable-anymap;image/x-portable-bitmap;image/x-portable-graymap;image/x-portable-pixmap;image/x-psd;image/x-sgi;image/x-tga;image/x-xbitmap;image/x-xwindowdump;image/x-xcf;image/x-compressed-xcf;image/tiff;image/jpeg;image/x-psd;image/png;image/x-icon;image/x-xpixmap;image/svg+xml;image/x-wmf;
X-Ubuntu-Gettext-Domain=gimp20
X-Ubuntu-Gettext-Domain=gimp20

这是一个样本,GIMP启动器,它是你所拥有的图标类型?如果是,您可以检查文件内容以访问可执行文件名和图标文件名。