2016-03-15 1 views
0

Je dispose d'un fichier texte qui a un quelque chose de ligne particulière commeRemplacer une ligne complète, si cette ligne est adaptée chaîne (Solaris #!/Usr/xpg4/bin/sh)

sometext sometext sometext SEARCHED sometext sometext sometext 

Je dois remplacer toute la ligne ci-dessus avec

modified due to security issue 

Si SEARCHED se trouve dans la ligne ci-dessus

je dois écrire un script shell pour cela. Comment puis-je y parvenir en utilisant sed pour solaris #!/Usr/xpg4/bin/sh shell?

Répondre

0

Voici une version awk:

nawk '/SEARCHED/ { 
    print "modified due to security issue";next} 
    1' file > file.patched 
0

Lorsque vous souhaitez modifier les fichiers d'origine, utilisez ed:

# I do not know if your shell supports <<< 
ed -s textfile <<< $',s/.*SEARCHED.*/modified due to security issue/g\nw' 

Lorsque vous ne pouvez pas utiliser solution ci-dessus, utilisez quelques lignes:

ed -s textfile << EOF 
,s/SEARCHED/modified due to security issue/g 
w 
q 
EOF