Monatliches Archiv: Mai 2021

Skripte

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