GUIãã¡ã¤ã«ããã¼ã¸ã£ããé¸æãããã¡ã¤ã«ãåå²ãã
ãGUIファイルマネージャから選択した複数のファイルを結合するãã®éã§ãThunar(Xfce4)ãNautilus(GNOMEã»Nautilus-actions使ç¨)ã§ãé¸æãããã¡ã¤ã«ãè¤æ°ã«åå²ããã¹ã¯ãªããã¨ãã®ã¢ã¯ã·ã§ã³è¨å®ãæ±ãã
ä»åä½æããã¹ã¯ãªããã§ã¯ãåå²å¾ã®ãã¡ã¤ã«åã¯å
ã®ãã¡ã¤ã«åã«ã.000ãã.001ãã®ãããªé£çªæ¡å¼µåãä»ãã¦åºåããããã«ãªã£ã¦ãã¦ãæ¡ã®æ°ã¯3æ¡åºå®(æ大åå²æ°ã¯1,000)ã¨ããã
ã¹ã¯ãªãã
Zenityã使ç¨ãã¦ããã
[ä»»æ]ãã¡ã¤ã«å: action-split.sh
#! /bin/bash # åå: åå²(_S)... # 説æ: é¸æãããã¡ã¤ã«ãè¤æ°ã«åå²ãã¾ã # ä¾å: Zenity # icon: ä»»æ # 対象: ãã¡ã¤ã«ã®ã¿/å ãã¡ã¤ã«å: * # 種é¡: # Nautilus-actions: */* # Thunar: ãã©ã«ã以å¤å ¨ã¦ # å¼æ°: å ¨ã¦ã®ãã¡ã¤ã«/ãã£ã¬ã¯ããªã®ãã¹ # Nautilus-actions: %M # Thunar: %f # æ¦è¦: æå®ãããã¡ã¤ã«ãåå²ãã¦ããã¤ã¢ãã°ã§æå®ãããã£ã¬ã¯ããªã«åºå # åå²æ°ã®ä¸éã¯1000(3æ¡åºå®) # NautilusãThunarã§ã¯ãã¡ã¤ã«ã®å ´æã¯çµ¶å¯¾ãã¹ã§å¼æ°ã«æ¸¡ãããã®ã§ # 絶対ãã¹å¤æã¯å¿ è¦ãªããã端æ«ããå®è¡ããå ´åã®ããã«å ¥ãã¦ãã INFILE=${1} INFILE_BASENAME=$(basename "${INFILE}") INFILE_ABSPATH=$(cd "$(dirname "${INFILE}")" && pwd)/${INFILE_BASENAME} INFILE_DIRNAME=$(dirname "${INFILE_ABSPATH}") # ãã¡ã¤ã«ãã©ããããã§ã㯠if [[ ! -f "${INFILE}" ]]; then zenity --error --title "ãã¡ã¤ã«ã§ã¯ããã¾ãã" --text "\"${INFILE}\"ã¯ãã¡ã¤ã«ã§ã¯ããã¾ãã" exit 1 fi # åºåãã£ã¬ã¯ããªã®å ´æãæå® OUTDIR=$(zenity --file-selection --directory --title="åºåãã£ã¬ã¯ããªã®æå®" --filename "$(dirname "${INFILE_DIRNAME}")/") [[ ${?} -ne 0 ]] && exit 1 # ãã£ã³ã»ã«ããããä½ãããªãã§çµäº # åå²ãµã¤ãºã®æå® # æ£ããæ¸å¼ã§å ¥åãããªããã°å ¥åãã¤ã¢ãã°ã«æ»ã for ((;;)); do SPLITTED_SIZE=$(zenity --entry --title "åå²ãµã¤ãºã®æå®" --text "åå²ãµã¤ãºãå ¥åãã¦ãã ãã ä¾: 100m(100MiB)/5000k(5000KiB)/512(512B)") [[ ${?} -ne 0 ]] && exit 1 # ãã£ã³ã»ã«ããããçµäº # æ¸å¼ãæ£ãããã°ã«ã¼ããæãã if echo ${SPLITTED_SIZE} | egrep "^[0-9]+[km]?$" >/dev/null 2>&1; then break else zenity --error --title "æ¸å¼ãä¸æ£" --text "åå²ãµã¤ãºã®æ¸å¼ãä¸æ£ãªãã ããä¸åº¦å ¥åãç´ãå¿ è¦ãããã¾ã" fi done # splitã³ãã³ãã§ãã¡ã¤ã«ãåå²ããæå®ãã£ã¬ã¯ããªã«åºåãã cd "${OUTDIR}" split --verbose -b ${SPLITTED_SIZE} -a 3 -d "${INFILE_ABSPATH}" "${INFILE_BASENAME}." 2>&1 | zenity --text-info --title "åå²å¦çã®çµæåºå(${OUTDIR})" --width=500 --height=300
Thunarã§ä½¿ç¨ããå ´åã®è¨å®
ãåºæ¬ãã¿ã
- åå: åå²(_S)...
- 説æ: é¸æãããã¡ã¤ã«ãè¤æ°ã«åå²ãã¾ã
- ã³ãã³ã: [ã¹ã¯ãªããã®å ´æã»ãã¼ã ãã£ã¬ã¯ããªãã~ãã¨æ¸ãã¦ãOK] %f
ãç»å ´ããæ¡ä»¶ãã¿ã
- 以ä¸ãé¸æããå ´åã«ç»å ´: ãã©ã«ã以å¤å ¨ã¦
Nautilus-actionsã§ä½¿ç¨ããå ´åã®è¨å®
æ¢å®ã®è¨å®ã®é¨åã¯çç¥ããå¤æ´ããã¨ããã ããæ¸ãã¦ããã
ãã¡ãã¥ã¼ã»ã¢ã¤ãã ã¨ã¢ã¯ã·ã§ã³ãã¿ã
- Nautilus ã®ã¡ãã¥ã¼ã»ã¢ã¤ãã
- ã©ãã«: åå²(_S)...
- ãã¼ã«ããã: é¸æãããã¡ã¤ã«ãè¤æ°ã«åå²ãã¾ã
- ã¢ã¯ã·ã§ã³
- ãã¹å: [ã¹ã¯ãªããã®å ´æã絶対ãã¹ã§è¨è¿°]
- å¼æ°ã®ä¸¦ã³: %M
é¢é£è¨äº:
- ファイルマネージャThunarのコンテキストメニューのアクションを作る
- 「CLIとGUIの架け橋」zenity
- Nautilusでファイルの種類や名前によって色々なアクションを実行
- Nautilus-actionsの設定例
- ファイルの分割(split)と結合(cat)
- GUIファイルマネージャから選択した複数のファイルを結合する
使ç¨ãããã¼ã¸ã§ã³: