Datei in shellscript Zeilenweise einlesen

Wir sind ja hier im Shellscriptforum also noch als bash-version:

Code:
#!/bin/bash

while read line
do
   s1=`echo $line | cut -d "," -f 1 -`;
   s2=`echo $line | cut -d "," -f 2 -`;
   s3=`echo $line | cut -d "," -f 3 -`;
   s1=${s1%?};
   s2=${s2%?};
   s3=${s3//\"/};

   fout_name=`echo $s3|cut -b -7 -`;
  
   echo "BEGIN:VCARD
VERSION:3.0
CATEGORIES:VIP
X-VIPCategory:Misc
ADR;ENCODING=QUOTED-PRINTABLE:;;$s3
X-NAVADDR:;;;;;;;;;
GEO:$s2;$s1
X-Flag:
REV:20140820T191503z
FN;ENCODING=QUOTED-PRINTABLE:$s3
UID:AddresBookPersistentProvider3
END:VCARD" > $fout_name;
   
done < testdatei
 
nochmal bash aber ohne externes cut und echo-gemurkse, dazu mit einem array:
Code:
#!/bin/bash

# alternative ohne cut und mit array


IFS=",";
while read line
do
   arr=($line);
   arr[0]=${arr[0]%?};
   arr[1]=${arr[1]%?};
   arr[2]=${arr[2]//\"/};

   fout_name=${arr[2]:0:7};

   echo "BEGIN:VCARD
VERSION:3.0
CATEGORIES:VIP
X-VIPCategory:Misc
ADR;ENCODING=QUOTED-PRINTABLE:;;${arr[2]}
X-NAVADDR:;;;;;;;;;
GEO:${arr[1]};${arr[0]}
X-Flag:
REV:20140820T191503z
FN;ENCODING=QUOTED-PRINTABLE:${arr[2]}
UID:AddresBookPersistentProvider3
END:VCARD" > $fout_name;
   
done < testdatei
 
Zuletzt bearbeitet:

Ähnliche Themen

Switche abfragen über Script

Verschlüsseltes Backup-Script mit rsync

script sshpass

Summe von Zahlen in einer Zeilen bilden

Shell Skript beschleunigen

Zurück
Oben