File Zeilenweise in Shell-Script einlesen

Post Reply
Message
Author
Tops
Posts: 4
Joined: 03. Jul 2004 21:30
Contact:

File Zeilenweise in Shell-Script einlesen

#1 Post by Tops »

Hi zusammen,
ich will in einem Shell-Script ein Textfile in ein Array einlesen und danach in ner Schleife Durchlaufen. Ich hab sowas zur zeit auch schon in der Art gemacht:

Code: Select all

DATEN=`cat ./urls.txt`
for URLNOW in $URLS; do
    echo "Bearbeite grade: $URLNOW"
    # mach was damit
done
Das klappt, weil in jeder Zeile eine URL steht, also keine Leerzeichen. Jetzt brauch ich das aber für Namen, also z.B.

Code: Select all

Hans Wurst
Marie Janne
Und selbst wenn ich die Namen in Anführungszeichen setze klappt es nicht, Vor und Nachname werden zu je einem Element. Aber jede Zeile soll ein Array Element sein.

Danke schon mal
Tops

Arnie

IFS setzen!

#2 Post by Arnie »

Per Default werden Leerzeichen, Tabulatoren und Zeilenende als Feldbegrenzer angesehen. Du musst die IFS-Variable so anpassen, dass nur das Zeilenende als Begrenzer angesehen wird:

Code: Select all

#!/bin/bash

IFS=$'\n'

array=$(cat asdf)

for item in $array; do
  echo : $item :
done
Arnie

Tops
Posts: 4
Joined: 03. Jul 2004 21:30
Contact:

Hat geklappt

#3 Post by Tops »

Hi Arnie,

super vielen dank. Klappt jetzt genau wie gedacht.

Tops

Post Reply