• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> 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?
 
#!/bin/bash
cat $1 | xargs -J% -L1 echo "|" % "|"
 
Cool danke!!!
Nur eine frage, was macht die Option J%
 
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...
 
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"|"}'