PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Forums Hébergement > Forum Serveur - Sécurité et techniques > comp.unix.shell > little sed
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
comp.unix.shell Using and programming the Unix shell.

little sed

Réponse
 
LinkBack Outils de la discussion
Vieux 03/01/2008, 17h42   #1
prabato@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut little sed

I need sed to delete line 130 and then replace it with the $shell_var

sed -e '130s/ d'
^^^ doesn't work

sed -e '130i/$shell_var/'
^^^ doesn't work

please .
  Réponse avec citation
Vieux 03/01/2008, 17h57   #2
Stephane Chazelas
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: little sed

On Thu, 3 Jan 2008 09:42:54 -0800 (PST), prabato@gmail.com wrote:
> I need sed to delete line 130 and then replace it with the $shell_var
>
> sed -e '130s/ d'
> ^^^ doesn't work
>
> sed -e '130i/$shell_var/'
> ^^^ doesn't work



sed "130s/.*/$shell_var/"

assuming $shell_var doesn't contain any /, \, & or newline
character.

awk -v repl="$shell_var" 'NR == 130 {$0 = repl} {print}'

assuming $shell_var doesn contain \ characters.

Or

sed "130!b
i\\
$shell_var
d"

assuming $shell_var doesn't contain \ or newline characters.

--
Stephane
  Réponse avec citation
Vieux 03/01/2008, 18h07   #3
Cyrus Kriticos
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: little sed

prabato@gmail.com wrote:
> I need sed to delete line 130 and then replace it with the $shell_var
>
> sed -e '130s/ d'
> ^^^ doesn't work
>
> sed -e '130i/$shell_var/'
> ^^^ doesn't work


sed "130{i $shell_var
d}" filename

--
Best regards | Be nice to America or they'll bring democracy to
Cyrus | your country.
  Réponse avec citation
Vieux 03/01/2008, 18h08   #4
Bill Marcum
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: little sed

On 2008-01-03, prabato@gmail.com <prabato@gmail.com> wrote:
>
>
> I need sed to delete line 130 and then replace it with the $shell_var
>
> sed -e '130s/ d'
> ^^^ doesn't work

What are you trying to do here? The s command requires three
separators:
s/pattern/replacement/

>
> sed -e '130i/$shell_var/'
> ^^^ doesn't work
>

Shell variables aren't substituted inside single quotes. Use double
quotes, if that's what you want.

> please .

  Réponse avec citation
Vieux 03/01/2008, 18h10   #5
loki harfagr
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: little sed

On Thu, 03 Jan 2008 09:42:54 -0800, prabato wrote:

> I need sed to delete line 130 and then replace it with the $shell_var
>
> sed -e '130s/ d'
> ^^^ doesn't work
>
> sed -e '130i/$shell_var/'
> ^^^ doesn't work
>
> please .


This would do, provided the content of $shellVar
won't hide bovver chars:

sed -n "/130/{g;s/^$/$shellVar/}"
  Réponse avec citation
Vieux 04/01/2008, 02h57   #6
Ed Morton
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: little sed



On 1/3/2008 11:42 AM, prabato@gmail.com wrote:
> I need sed to delete line 130 and then replace it with the $shell_var
>
> sed -e '130s/ d'
> ^^^ doesn't work
>
> sed -e '130i/$shell_var/'
> ^^^ doesn't work
>
> please .


Assuming you don't really NEED to use sed:

awk -v var="$shell_var" '{print NR==130?var:$0}' file

Ed.

  Réponse avec citation
Vieux 04/01/2008, 06h17   #7
mik3l3374@gmail.com
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: little sed

On Jan 4, 1:42 am, prab...@gmail.com wrote:
> I need sed to delete line 130 and then replace it with the $shell_var
>
> sed -e '130s/ d'
> ^^^ doesn't work
>
> sed -e '130i/$shell_var/'
> ^^^ doesn't work
>
> please .



use this, for very large files

#!/bin/sh
head -129 file > outfile
echo "my string" >> outfile
tail +131 file >> outfile
#or more +131 file >> outfile

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 07h03.


Édité par : vBulletin® version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières ©2000-2008
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,19018 seconds with 15 queries