ubuntuusers.de

Dateien nach Datum verschieben - Jahr - Monat

Status: Ungelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

rurotil

Anmeldungsdatum:
7. April 2009

Beiträge: 102

Hallo Leute,

ich möchte gerne viele PDFs die in einen Ordner kopiert werden, automatisch verschoben haben in

/Jahr/Monat/Datei

Habe z.B. das hier gefunden, aber das funktioniert irgendwie nicht:

#!/bin/bash

BASE_DIR="${1}"

if [ -z "${BASE_DIR}" ]; then
  BASE_DIR="/home/Test/Eingang"
fi

if [ ! -d "${BASE_DIR}" ]; then
  echo "Error: '${BASE_DIR}' does not exists." >2
  exit 1
fi

declare -a MONTH_NAMES
MONTH_NAMES[1]='JAN'
MONTH_NAMES[2]='FEB'
MONTH_NAMES[3]='MAR'
MONTH_NAMES[4]='APR'
MONTH_NAMES[5]='MAY'
MONTH_NAMES[6]='JUN'
MONTH_NAMES[7]='JUL'
MONTH_NAMES[8]='AUG'
MONTH_NAMES[9]='SEP'
MONTH_NAMES[10]='OCT'
MONTH_NAMES[11]='NOV'
MONTH_NAMES[12]='DEC'


find "${BASE_DIR}" -maxdepth 1 -mtime -90 -type f -iname '*.pdf' \
  | grep -e '/[0-9]*.pdf$' \
  | while read FILE; do

  FILENAME="$(basename "${FILE}")"

  FILE_YEAR="$(echo "${FILENAME}" | cut --bytes=1-4)"
  FILE_MONTH="$(echo "${FILENAME}" | cut --bytes=5-6)"

  FILE_MONTH_NAME="${MONTH_NAMES[${FILE_MONTH}]}"

  REPORT_DIR="${BASE_DIR}/${FILE_YEAR}/${FILE_MONTH_NAME}"
  test -d "${REPORT_DIR}" || mkdir -p "${REPORT_DIR}"

  mv "${FILE}" "${REPORT_DIR}"

  echo "'${FILENAME}' moved to '${REPORT_DIR}'"
done

oder das:

#!/bin/bash

cd /home/Test/

inotifywait -mrq -e create --format %f /home/Test/Eingang | while read FILE
sleep 240 # 4 Min Wartezeit weil bei vielen Scans gleichzeitig inotifywait nicht die neuen PDFs erkennen kann
do
  case $FILE in
      *.pdf)
      ocrmypdf -l deu $FILE /home/Test/Eingang/$FILE;

        ausgang="/home/Test/Ausgang"
        eingang="/home/Test/Eingang"
        #datum=$(date +%Y-%m-%d)

        find "$eingang" -type f -printf "%CY %CB %Cd %f\0" | while read -r -d $'\0' jahr monat tag datei ; do
        mkdir -p "${ausgang}/${jahr}/${monat}"

        mv "${eingang}/${FILE}" "${ausgang}/${jahr}/${monat}/${tag}-${FILE}"
        done
  esac
done

Kann mir bitte jemand helfen? Danke

sebix Team-Icon

Moderator, Webteam

Anmeldungsdatum:
14. April 2009

Beiträge: 5582

rurotil schrieb:

Habe z.B. das hier gefunden, aber das funktioniert irgendwie nicht:

Was funktioniert nicht?

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13174

sebix schrieb:

rurotil schrieb:

Habe z.B. das hier gefunden, aber das funktioniert irgendwie nicht:

Was funktioniert nicht?

... und was ist das Ziel?

Antworten |