Portál AbcLinuxu, 27. května 2024 05:49
Řešení dotazu:
!RAW/
soubory ve tvaru jmeno_souboru.CR2
do del/!RAW
(musí existovat), pokud neexistuje jmeno_souboru.jpg
v aktuálním adresáři.
#!/usr/bin/perl use 5.010; use strict; use warnings; use English qw(-no_match_vars); use Carp; our $VERSION = '0.01'; while ( glob '!RAW/*.CR2' ) { my $raw = $_; s{^ !RAW/ (.*) [.]CR2 $}{$1.jpg}msx; next if -e; #say $_; rename $raw, q{del/} . $raw or croak "$OS_ERROR"; }
#!/bin/bash set -e [[ -d "${1}" ]] || exit 0 JPG="${1}" RAW="${JPG}/!RAW" RAW_TRASH="${RAW}/TRASH" [[ -d ${RAW} ]] || $(mkdir -p ${RAW}; mv ${JPG}/*.CR2 ${RAW}) mkdir -p ${RAW_TRASH} for file in ${RAW}/*.CR2; do filename=$(basename ${file}) [[ -s ${JPG}/${filename/.CR2/.JPG} ]] || mv ${file} ${RAW_TRASH} done
#!/bin/bash set -e # smazat pokud nechces kontrolovat existenci adresare zadavaneho parametrem a ukoncovat [[ -d ${1} ]] || exit 0 # pokud nastavit aktualni dir kdyz nezadas parametrem, zmen JPG="${1}" na JPG=${1-$PWD} JPG="${1}" RAW="${JPG}/!RAW" RAW_TRASH="${RAW}/TRASH" [[ -d ${RAW} ]] || $(mkdir -p "${RAW}"; mv "${JPG}"/*.CR2 "${RAW}") mkdir -p "${RAW_TRASH}" for file in "${RAW}"/*.CR2; do filename=$(basename "${file}") [[ -s ${JPG}/${filename/.CR2/.JPG} ]] || mv "${file}" "${RAW_TRASH}" done
[Desktop Entry] Type=Service ServiceTypes=KonqPopupMenu/Plugin,all/all,all/allfiles,inode/directory,inode/directory-locked' Actions=rawmove [Desktop Action rawmove] Name=RAW move Name[cs]=RAW přesun Icon=kfm Exec= rawpresun %UPrida do dolphina mezi cinnosti RAW presun, ktery spusti skript v bashi rawpresun a vlozi mu cestu, odkud byl spusten. Staci tedy najet do slozky s fotkama a pravym tlacitkem kliknout na polozku Činnosti/RAW presun a razem jsou fotky urovnane a nadbytecne RAWy jsou ve slozce k vymazani. Funguje to perfektne, jsem nadseny, tohle bych na windows asi neudelal Diky za pomoc.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.