Skripte

Verfasst von

in

Hier ist ein Shellskript zum Umwandeln von Leerzeichen in Unterstrich, scharfes „s“ in sz und Umlaute in ae, oe, ue. Das Skript muss mit einem Startverzeichnis angegeben werden:

#!/bin/bash

# Bash’s Internal Field Separator aendern, damit Leerzeichen im Dateinamen nicht blockieren

BACKUPIFS=IFS

IFS=“

# usage

usage ()
{
echo -e „\n\n ERROR! nr. of params: $params\n“
echo -e „\n\n Usage: $0 >\n“
exit 1 ;
}

# Parameter

if [ $# -ne 1 ]; then
params=$#
usage
fi

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ /_/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/Ä/Ae/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ä/ae/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/Ö/Oe/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ö/oe/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/Ü/Ue/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ü/ue/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

for i in „$1″/*
do
ALT=“${i}“
NEU=“$(echo ${i}|sed -e ’s/ß/sz/g‘)“
if [[ „$ALT“ != „$NEU“ ]]; then
mv -i „$ALT“ „$NEU“
echo -e “ Verz/Datei ${ALT} wurde in ${NEU} umgewandelt!“
echo -e „————————————\n“
fi
if [ -d „$NEU“ ]; then
sh $0 „$NEU“
fi
done

unset IFS
IFS=BACKUPIFS

Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

CAPTCHA Pflichtfeld / Required! * Time limit is exhausted. Please reload CAPTCHA.