• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> Klick

Bash script Problem

Jamsven

London Pepping
Registriert
21.11.07
Beiträge
2.046
Hallo,
ich muss folgendes machen:
Erstellen Sie die Shellprozedur display_file, welche eine als Argument übergebene Datei zeilenweise anzeigt, wobei jede Zeile in senkrechte Striche | eingefasst werden soll.

Der Befehl:

./display_file filename
könnte etwa folgendes ausgeben:
|zeile 1|
|zeile 2|
nun bin ich schon soweit gekommen:
Code:
#!bin/bash
for zeile2 in `cat $1` ; do
	echo "| $zeile2 |"	
	done
Nur leider interpretiert die for Schleife wortweise...weiß einher wie ich das Zeilenweise hinbekomme?
 

dusty1000

Weißer Trierer Weinapfel
Registriert
22.09.06
Beiträge
1.508
#!/bin/bash
cat $1 | xargs -J% -L1 echo "|" % "|"
 

Jamsven

London Pepping
Registriert
21.11.07
Beiträge
2.046
Cool danke!!!
Nur eine frage, was macht die Option J%
 

Jamsven

London Pepping
Registriert
21.11.07
Beiträge
2.046
Jo schon klar, nur es gibt so Situationen wo man das noch mal andersweitig erklärt bekommen muss.

-J% setzt Quasi die aktuelle Zeile in % ein....so verstehe ich das...
 

ins0m

Gloster
Registriert
05.10.07
Beiträge
61
Viele wegen führen nach Rom.
besonders weil ich das so unleserlich finde empfehle ich dir doch mal einen Blick auf awk zu werfen:
#!/bin/bash
cat $1 | awk '{print "|"$0"|"}'