• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> 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"|"}'