Я хочу, чтобы пользователь выбирал файл из любого места, используя zenity, и скрипт обнаруживает расширение файла, например (.tar.gz) или (.zip) , и соответственно выполнять соответствующие действия. Вот пример.Отобразить имя файла для всех файлов с определенным расширением
#! /bin/bash
FILE=$(zenity --file-selection --title="Select a file to check")
echo "File: $FILE"
if [ "$FILE" = "*.zip" ]
then
echo "File that is a .zip found"
FILENAMENOEXT="${FILE%.*}"
echo "Filename with extention $FILENAMENOEXT"
#Perform xx action to $FILE if it is a zip
elif [ "$FILE" = "*.tar.gz" ]
then
echo "File is a .tar.gz found"
FILENAMENOEXT="${FILE%.tar.*}"
echo "Filename with extention $FILENAMENOEXT"
#Perform xx action to $FILE if it is a t.tar.gz
else
echo "File is neither .zip nor .tar.gz"
fi
echo "test $FILENAMENOEXT"
Side Примечание: если вы хотите, чтобы ваш инструмент распознавать файлы по их содержанию (например, потому, что некоторые файлы '.tar.gz' в то время как другие являются' .tgz'), то 'file' Util может пригодиться , Например. 'file -b --mime-type something.tar.gz' даст вам' application/gzip'. – tarleb
, что вы хотите выполнить после получения файлов .zip и .tar.gz? –