[Unix] File editen via command line

Pagina: 1
Acties:

  • Haywire
  • Registratie: Januari 2000
  • Laatst online: 06-12-2025
Hoi,

Ik zou via een command line (of eigenlijk via een Makefile) de inhoud van een file naar een nieuwe file willen kopieren, waarbij een specifieke reeks karakters wordt vervangen door de output van een tweede commando. Hints/tips/oplossingen?

Achtergrond: Ik wil de HTML-file waarin de last-updated datum staat van mijn homepage automatisch aanmaken, door een generieke file te hebben waar elke keer dat ik mijn homepage update automatisch de juiste datum wordt ingevoegd.

Groeten,

Eelke

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
code:
1
cat file | sed s/ditmoetvervangenworden/`/bin/programma`/ > file2

Verwijderd

Of:
code:
1
sed -e s/te_vervangen_tekst/de_vervanging/  file1 > file2

man sed ;)

  • Haywire
  • Registratie: Januari 2000
  • Laatst online: 06-12-2025
Thnx.

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Op woensdag 20 februari 2002 21:28 schreef nelske het volgende:
Of:
code:
1
sed -e s/te_vervangen_tekst/de_vervanging/  file1 > file2
Nelske: ik doe mee met de strijd voor de useless use of cat award :)

http://www.ling.helsinki.fi/~reriksso/unix/award.html

ik doe ook altijd cat foo | less en cat bar | grep foo : )
shame on me.

Verwijderd

Op woensdag 20 februari 2002 21:33 schreef blaataaps het volgende:

[..]

Nelske: ik doe mee met de strijd voor de useless use of cat award :)

http://www.ling.helsinki.fi/~reriksso/unix/award.html

ik doe ook altijd cat foo | less en cat bar | grep foo : )
shame on me.
Mjah, voorheen deed ik dat ook altijd. Hetzelfde bij grep bijvoorbeeld. Pipen is gewoon een gewoonte op een gegeven moment ;)

Tegenwoordig doe ik het niet meer bij commando's waarbij het niet hoeft ;)

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
Dat heb ik ook eens gepoogd, dat af te leren, maar het wou niet : )
Omdat niet alle programma's de filename op de zelfde plaats willen zien, en niet alle programma's pikken het, dus neem ik niet meer het risico : )

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

shamelessly offtopic:

Ja! Ik heb iets gevonden om 'cat file | grep string' te verdedigen over 'grep string file' >:)

Als je dan pijltje omhoog doet om nog eens de file te greppen op een andere string, hoef je niet zover terug naar links met de cursor om de string aan te passen :P

Verwijderd

U heeft uiteraard van de verschillende toets combinaties ala Ctrl-A gehoord? (Weg argument >:) )

Dit topic is nog open, omdat ik heel misschien nog wel een leuk regex probleempje verwacht :)

  • grep
  • Registratie: Augustus 2001
  • Laatst online: 24-07 11:23

grep

meer begrep...

Op woensdag 20 februari 2002 21:41 schreef nelske het volgende:

[..]

..Hetzelfde bij grep bijvoorbeeld. Pipen is gewoon een gewoonte op een gegeven moment ;)
he, hoevaak ik gepiped wordt gaat niemand wat aan! :D

  • odysseus
  • Registratie: Augustus 2000
  • Laatst online: 23:41

odysseus

Debian GNU/Linux Sid

Op woensdag 20 februari 2002 22:39 schreef deadinspace het volgende:
shamelessly offtopic:

Ja! Ik heb iets gevonden om 'cat file | grep string' te verdedigen over 'grep string file' >:)

Als je dan pijltje omhoog doet om nog eens de file te greppen op een andere string, hoef je niet zover terug naar links met de cursor om de string aan te passen :P
Zie de bash-howto, iets over 'yank nth argument' als ik me niet vergis :P . Een toetsenbordcombinatie als Ctrl-Alt-y doet al wonderen :) .

En voor Nelske: als je een leuke regexp wilt zoeken: probeer eens om elke willekeurige regel om te draaien, waarbij je dus geen 'rev' of iets dergelijks mag gebruiken. Alleen pure sed- en perl-regexps zijn toegestaan. Als dat gelukt is mag je proberen het eerste teken op regel 1 te wijzigen in het laatste teken op de laatste regen, het tweede teken op regel 1 met het op een na laatste teken van de laatste regel, enzovoort. Succes >:) .

* odysseus gaat morgen eens uitzoeken waarom KLyX in CVS niet wil compileren...nu eerst maar eens wat nachtrust gaan genieten.

Leven is het meervoud van lef | In order to make an apple pie from scratch, you must first create the universe.


  • blaataaps
  • Registratie: Juli 2001
  • Niet online
CTRL-A werkt helaas (default) niet in een screen. Regexpen op een commandline ( !!:s/foo/bar/ ) zijn wel leuk, maar bij korte commandlines vaak meer werk vind ik.

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 16-08 16:08

deadinspace

The what goes where now?

Op woensdag 20 februari 2002 23:01 schreef blaataaps het volgende:
CTRL-A werkt helaas (default) niet in een screen.
CTRL-A A. Bovendien kun je altijd nog gewoon op 'home' rammen.

Maar kvinnet vaak toch makkelijker om ff te backspacen.

  • blaataaps
  • Registratie: Juli 2001
  • Niet online
hmm, ctrl-a a werkt idd, handig, home vind ik meestal te ver weg : )

  • jeroen|IA
  • Registratie: Juni 1999
  • Laatst online: 26-05-2025
Ik had geen zin om voor Bash een aparte serie line editing commando's te leren, daarom gebruik ik mijn Bash shells altijd met de optie "set -o vi". :)
Pagina: 1