Skript Idden?

Hallo UNIX-, LINUX-, SHELL-PROFIS,

ich muss aus einer solchen Liste:
#liste.csv
Katze;Mietze;Kater;cat;feline;chat;;gato;;
Hund;WauWau;Canide;dog;bitch;chien;chiene;;

so eine machen

Katze
SYN Mietze #die SYN sollen im deutschen 2 mal ausgegeben werden.
SYN Kater
ENGLISH: cat #alle anderen Begriffe nur 1 mal
SPANISH: gato
FRENCH: chat
cat
SYN feline
GERMAN: Katze
SPANISH: gato
FRENCH: chat
chat
GERMAN: Katze
SPANISH: gato
ENGLISH: cat
gato
GERMAN: Katze
FRENCH: chat
ENGLISH: cat

Meine, schwierig gestellte, Frage:
bis jetzt bekomme ich folgende Lösung bei der ich die doppelten Einträgeweg löschen muss, sprich im ersten Block muss 1 mal „ENGLISH:…“ komplet weg. Im zweiten muss 2 mal „GERMAN:…“ weg usw., usw.

Katze
SYN Mietze
SYN Kater
ENGLISH: cat
ENGLISH: feline
FRENCH: chat
SPANISH: gato

cat
SYN feline
GERMAN: Katze
GERMAN: Mietze
GERMAN: Kater
FRENCH: chat
SPANISH: gato

chat
GERMAN: Katze
GERMAN: Mietze
GERMAN: Kater
SPANISH: gato
ENGLISH: cat
ENGLISH: feline

gato
GERMAN: Katze
GERMAN: Mietze
GERMAN: Kater
FRENCH: chat
ENGLISH: cat
ENGLISH: feline

Hund
SYN WauWau
SYN Canide
ENGLISH: dog
ENGLISH: bitch
FRENCH: chien
FRENCH: chiene

dog
SYN bitch
GERMAN: Hund
GERMAN: WauWau
GERMAN: Canide
FRENCH: chien
FRENCH: chiene

chien
SYN chiene
GERMAN: Hund
GERMAN: WauWau
GERMAN: Canide
ENGLISH: dog
ENGLISH: bitch

GERMAN: Hund
GERMAN: WauWau
GERMAN: Canide
FRENCH: chien
FRENCH: chiene
ENGLISH: dog
ENGLISH: bitch

Dies bekomme ich mit den 2 Skripten hin:

%skript1 liste.csv > erg

#!/bin/awk -f
#skript1

BEGIN{
FS=";";
}
{
printf $1"\n" " SYN „$2“\n" " SYN „$3“\n" " ENGLISH: „$4“\n" " ENGLISH: „$5“\n" " FRENCH: „$6“\n" " FRENCH: „$7“\n" " SPA
NISH: „$8“\n" " SPANISH: „$9“\n\n" ;

printf $4"\n"" SYN „$5“\n"" GERMAN: „$1“\n"" GERMAN: „$2“\n"" GERMAN: „$3“\n"" FRENCH: „$6“\n"" FRENCH: „$7“\n"" SPANISH:
„$8“\n"" SPANISH: „$9“\n\n" ;

printf $6"\n"" SYN „$7“\n"" GERMAN: „$1“\n"" GERMAN: „$2“\n"" GERMAN: „$3“\n"" SPANISH: „$8“\n"" SPANISH: „$9“\n"" ENGLIS
H: „$4“\n"" ENGLISH: „$5“\n\n" ;

printf $8"\n"" SYN „$9“\n"" GERMAN: „$1“\n"" GERMAN: „$2“\n"" GERMAN: „$3“\n"" FRENCH: „$6“\n"" FRENCH: „$7“\n"" ENGLISH:
„$4“\n"" ENGLISH: „$5“\n\n" ;

}

%skript2 erg

#!/bin/csh
#skript2
set FILE = „./ausgabe“

sed ‚/: $/d‘ $1 | sed ‚/SYN $/d‘ > $FILE

GRUß
Navigato

Hallo Leute,

hab mir schon selber geholfen, danke. :frowning:(

BEGIN{
FS=";";
}
{

if ($1!="" || $2!="" || $3""){

#GERMAN B1
if ($1!="" && $2!="" && $3!="")
printf $1"\n" " SYN „$2“\n" " SYN „$3“\n";

if ($1=="" && $2!="" && $3!="")
printf $2"\n" " SYN „$3“\n";

if ($1!="" && $2=="" && $3!="")
printf $1"\n" " SYN „$3“\n";

if ($1!="" && $2!="" && $3=="")
printf $1"\n" " SYN „$2“\n";

if ($1!="" && $2=="" && $3=="")
printf $1"\n";

if ($1=="" && $2!="" && $3=="")
printf $2"\n";

if ($1=="" && $2=="" && $3!="")
printf $3"\n";

#ENGLISH B1
if ($4!="" && $5!="")
printf " ENGLISH: „$4“\n";

if ($4=="" && $5!="")
printf " ENGLISH: „$5“\n";

if ($4!="" && $5=="")
printf " ENGLISH: „$4“\n";

#FRENCH B1
if ($6!="" && $7!="")
printf " FRENCH: „$6“\n";

if ($6=="" && $7!="")
printf " FRENCH: „$7“\n";

if ($6!="" && $7=="")
printf " FRENCH: „$6“\n";

#SPANISH B1
if ($8!="" && $9!="")
printf " SPANISH: „$8“\n";

if ($8=="" && $9!="")
printf " SPANISH: „$9“\n";

if ($8!="" && $9=="")
printf " SPANISH: „$8“\n";
}

################################################################################

if ($4!="" || $5!=""){
printf „\n“;

#ENGLISH B2
if ($4!="" && $5!="")
printf $4"\n" " SYN „$5“\n";

if ($4=="" && $5!="")
printf $5"\n";

if ($4!="" && $5=="")
printf $4"\n";

#GERMAN B2
if ($1!="" && $2!="" && $3!="")
printf " GERMAN: " $1"\n";

if ($1=="" && $2!="" && $3!="")
printf " GERMAN: " $2"\n";

if ($1!="" && $2=="" && $3!="")
printf " GERMAN: " $1"\n";

if ($1!="" && $2!="" && $3=="")
printf " GERMAN: " $1"\n";

if ($1!="" && $2=="" && $3=="")
printf " GERMAN: " $1"\n";

if ($1=="" && $2!="" && $3=="")
printf " GERMAN:" $2"\n";

if ($1=="" && $2=="" && $3!="")
printf " GERMAN: " $3"\n";

#FRENCH B2
if ($6!="" && $7!="")
printf " FRENCH: „$6“\n";

if ($6=="" && $7!="")
printf " FRENCH: „$7“\n";

if ($6!="" && $7=="")
printf " FRENCH: „$6“\n";

#SPANISH B2
if ($8!="" && $9!="")
printf " SPANISH: „$8“\n";

if ($8=="" && $9!="")
printf " SPANISH: „$9“\n";

if ($8!="" && $9=="")
printf " SPANISH: „$8“\n";
}

################################################################################

if ($6!="" || $7!=""){
printf „\n“;

#FRENCH B3
#if ($6!="" && $7!="")
#printf $6 „\n“ „+SYN „$7“\n“;

#if ($6=="" && $7!="")
#printf $7"\n";

#if ($6!="" && $7=="")
#printf $6"\n\n";

if ($6!="" && $7!="")
printf $6"\n" " SYN „$7“\n";

if ($6=="" && $7!="")
printf $7"\n";

if ($6!="" && $7=="")
printf $6"\n";

#GERMAN B3
if ($1!="" && $2!="" && $3!="")
printf " GERMAN: " $1"\n";

if ($1=="" && $2!="" && $3!="")
printf " GERMAN: " $2"\n";

if ($1!="" && $2=="" && $3!="")
printf " GERMAN: " $1"\n";

if ($1!="" && $2!="" && $3=="")
printf " GERMAN: " $1"\n";

if ($1!="" && $2=="" && $3=="")
printf " GERMAN: " $1"\n";

if ($1=="" && $2!="" && $3=="")
printf " GERMAN: " $2"\n";

if ($1=="" && $2=="" && $3!="")
printf " GERMAN: " $3"\n";

#ENGLISH B3
if ($4!="" && $5!="")
printf " ENGLISH: „$4“\n";

if ($4=="" && $5!="")
printf " ENGLISH: „$5“\n";

if ($4!="" && $5=="")
printf " ENGLISH: „$4“\n";

#SPANISH B3
if ($8!="" && $9!="")
printf " SPANISH: „$8“\n";

if ($8=="" && $9!="")
printf " SPANISH: „$9“\n";

if ($8!="" && $9=="")
printf " SPANISH: „$8“\n";
}

################################################################################

if ($8!="" || $9!=""){
printf „\n“;

#SPANISH B4
if ($8!="" && $9!="")
printf $8"\n" " SYN „$9“\n";

if ($8=="" && $9!="")
printf $9"\n";

if ($8!="" && $9=="")
printf $8"\n";

#GERMAN B4
if ($1!="" && $2!="" && $3!="")
printf " GERMAN: " $1"\n";

if ($1=="" && $2!="" && $3!="")
printf " GERMAN: " $2"\n";

if ($1!="" && $2=="" && $3!="")
printf " GERMAN: " $1"\n";

if ($1!="" && $2!="" && $3=="")
printf " GERMAN: " $1"\n";

if ($1!="" && $2=="" && $3=="")
printf " GERMAN: " $1"\n";

if ($1=="" && $2!="" && $3=="")
printf " GERMAN: " $2"\n";

if ($1=="" && $2=="" && $3!="")
printf " GERMAN: " $3"\n";

#ENGLISH B4
if ($4!="" && $5!="")
printf " ENGLISH: „$4“\n";

if ($4=="" && $5!="")
printf " ENGLISH: „$5“\n";

if ($4!="" && $5=="")
printf " ENGLISH: „$4“\n";

#FRENCH B4
if ($6!="" && $7!="")
printf " FRENCH: „$6“\n\n";

if ($6=="" && $7!="")
printf " FRENCH: „$7“\n\n";

if ($6!="" && $7=="")
printf " FRENCH: „$6“\n\n";
}

################################################################################

}

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]