← Back to team overview

sslug-teknik team mailing list archive

Re: sed

 

Kim Nielsen <knielsen@xxxxxxxxxxxxxxxxxxxxxxx> wrote on 15-Oct-01:

> Jan Eliasen wrote:
> > 
> > sed s/.*/"INSERT INTO Bil11 VALUES (" & ");" Bil11.txt > test.txt
> > 
> 
> hvorfor ikke bare:
> 
> for i in `cat fil`
> do
> 	echo "tekstfør $i tekstefter">>fil2;
> done

Det vil ikke virke hvis filen indeholder flere ord på samme linie.

En løsning med den oprindelige formulering er (idet strengen sættes
mellem apostroffer fordi den indeholder ophold og citationstegn):

  sed 's/.*/INSERT INTO Bil11 VALUES ("\0");/' Bil11.txt >test.txt

og i Bash bliver det

  cat Bil11.txt |while >test.txt read -r i
  do
       echo "INSERT INTO Bil11 VALUES (\"${i}\")"
  done


(lidt usædvanligt er ovenstående faktisk afprøvet).


Anders.


References