Учитывая тип пантомимы получают соответствующее расширение файла

Необходимо говорить о динамических представлениях, так как представления снимка не должны быть установлены (они - основанная на файле рабочая область, доступная на жестком диске).

Относительно представления dynaic, "настроенный" представление может относиться к:

В первом случае необходимо сделать сценарий Наутилуса (что Вы могли интегрироваться в меню Nautilus), который будет:

  • перечислите все представление (cleartool lsview -s)
  • запустите представление (или представления) выбранный

Во втором случае необходимо было бы сделать сценарий используемым в контекстном меню:

  • взятие в качестве параметра только каталог, выбранный в файловом менеджере,
  • проверка, что каталог находится непосредственно под /view (все динамические представления смонтированы под /view: /view/aDynamicViewTag)
  • звонить cleartool setcs aDynamicViewTag на том представлении (можно только установить одно представление за один раз: его содержание будет под /vobs/aVob/...)

4
28.10.2014, 05:58
2 ответа

В отличие от окон, Unix обычно не имеет никакого понятия file extensions. Однако можно использовать /etc/mime.types файл для обеспечения тех переводов:

image/jpeg: jpg
image/gif: gif
image/png: png
image/x-portable-pixmap: ppm
image/tiff: tif

и затем соответствие следовательно:

$ ext=$(grep "$(file -b --mime-type file.png)" /etc/mime.types | awk '{print $2}')

$ echo $ext
png
6
27.01.2020, 20:52

Bash-скрипт, который принимает один параметр - имя файла и пытается переименовать его на основе его mime-типа с помощью команды file и системного файла mime.types:

#!/bin/bash

# Set the location of your mime-types file here.  On some OS X installations,
# you may find such a file at /etc/apache2/mime.types; On some linux distros, 
# it can be found at /etc/mime.types
MIMETYPE_FILE="/etc/apache2/mime.types"

THIS_SCRIPT=`basename "$0"`
TARGET_FILE="$1"
TARGET_FILE_BASE=$(basename "$TARGET_FILE")
TARGET_FILE_EXTENSION="${TARGET_FILE_BASE##*.}"
if [[ "$TARGET_FILE_BASE" == "$TARGET_FILE_EXTENSION" ]]; then
    # This fixes the case where the target file has no extension
    TARGET_FILE_EXTENSION=''
fi
TARGET_FILE_NAME="${TARGET_FILE_BASE%.*}"


if [ ! -f "$MIMETYPE_FILE" ]; then
    echo Could not find the mime.types file.  Please set the MIMETYPE_FILE variable in this script.
    exit 1
fi

if [ "$TARGET_FILE" == "" ]; then
    echo "No file name given. Usage: ${THIS_SCRIPT} <filename>"
    exit 2
fi

if [ ! -f "$TARGET_FILE" ]; then
    echo "Could not find specified file, $TARGET_FILE"
    exit 3
fi

MIME=`file -b --mime-type $TARGET_FILE`
if [[ "${MIME}" == "" ]]; then
    echo ${THIS_SCRIPT} $TARGET_FILE - Could not find MIME-type.
    exit 4
fi

EXT=$(grep "${MIME}" "${MIMETYPE_FILE}" | sed '/^#/ d' | grep -m 1 "${MIME}" | awk '{print $2}')

if [[ "$EXT" == "" ]]; then
    echo ${THIS_SCRIPT} ${TARGET_FILE} - Could not find extension for MIME-Type ${MIME}
    exit 5
fi


if [ "${TARGET_FILE_EXTENSION}" == "${EXT}" ]; then
    echo ${TARGET_FILE} already has extension appropriate for MIME-Type ${MIME}
    exit 0
fi

echo Renaming "${TARGET_FILE}" to "${TARGET_FILE}.${EXT}"
mv "${TARGET_FILE}" "${TARGET_FILE}.${EXT}"
0
27.01.2020, 20:52

Теги

Похожие вопросы