2009-04-18 6 views
0

Duplicata de prepend to a file one liner shell?.Impossible de mettre des données à la première ligne dans le terminal sans un éditeur?

J'essaie de mettre ma pâte à la toute première ligne sans ouvrir un éditeur de façon similaire mais pour le sens inverse

echo Masi >> file 

Comment pouvez-vous mettre les données à la première ligne dans le terminal sans ouvrir un éditeur?

Par exemple,

J'ai un fichier

M 
M 
M 

Je veux mettre Masi à mon dossier tel que

Masi 
M 
M 
M 

sans ouvrir un éditeur dans le terminal.

+0

Sur quel système? Utiliser les outils standard Unix? – Anthony

+0

Antony: Utilisation d'outils Unix standard. J'utilise Mac et Ubuntu. –

+0

désolé, je ne peux pas comprendre la question. Pouvez-vous s'il vous plaît l'élargir? – Alnitak

Répondre

1

Faire avec ed:

#!/bin/sh 
/bin/ed $1 <<__EOT__ 
1i 
Masi 
. 
wq 
__EOT__ 

Techniquement, ce est mise à feu en place un éditeur, mais c'est non interactif, donc peut répondre à vos critères.

1

Vous pouvez essayer:

mv file temp_file 
echo "Masi" > file 
cat temp_file >> file 
rm temp_file 

Ecrire un script si vous devez le faire beaucoup ...


Ou je crois que vous pourriez faire avec ed. Vous devrez décider vous-même si vous pensez que compte comme « l'ouverture d'un éditeur » ...

Questions connexes