>
peut le faire.
echo "text" > file
tee
peut le faire.
echo "test" | tee file
Pouvez sed
-vous le faire sans utiliser l'une des méthodes ci-dessus? Est-il possible d'enregistrer la sortie d'une sed
commande dans un fichier sans utiliser ni >
ou tee
?
sed
io-redirection
Folatt
la source
la source
sed '' file > newfile
et vous auriez vu que cela>
peut en effet être utilisé avecsed
comme avec n'importe quel autre programme.>
opérateur. J'étais intéressé s'il y avait une commande sed qui pourrait être utilisée à la place. Mais je supprimerai cette question si elle est si mauvaise.sed -i
réponse, je vais modifier votre question et clarifier ce que vous recherchez.sed
n'est pas destiné à la redirection des données commetee
et>
(sont) censés être".Réponses:
tee et> peuvent être utilisés pour la redirection de données car ils sont destinés à être utilisés pour la redirection de données sous linux.
sed, d'autre part, est un éditeur de flux. sed n'est pas destiné à la redirection de données comme tee et> censé l'être. Cependant, vous pouvez utiliser la conjonction de commandes pour ce faire.
utiliser tee ou> avec sed
ou
utiliser sed avec l'option -i
le dernier ne redirige pas, à la place, il apportera des modifications dans le fichier lui-même.
la source
sed
cela pourrait le faire, car il est également capable de créer des fichiers de sauvegarde avec l'-i.bak
option.echo "test" | dd of=file status=none
, supprimer la sortie d'un écho sans utiliser la redirection de sortie obscure2> /dev/null
, mais a plutôt demandé les limitations de sed. J'ai été vraiment impressionné par les capacités de sed car il est capable d'ajouter des lignes dans le fichier, ce qui m'a donné l'impression que sed pouvait faire tout ce que le tee pouvait faire et plus encore.sed
a law
commande qui pourrait faire ce dont vous avez besoin:sed 'w file'
aura à lui seul le même effet quetee file
. S'il existe d'autres commandes sed, mettez law
dernière:Cependant, cela ne sera pas affecté par l'
-n/--quiet/--silent
option. Cela supprime uniquement le contenu qui aurait autrement été envoyé à la sortie standard.la source
Comme ankidaemon a correctement indiqué comment nous pouvons enregistrer la sortie sed dans un fichier. Je voudrais ajouter que si nous effectuons certaines opérations sur un fichier, c'est-à-dire remplacer et que nous souhaitons enregistrer la sortie dans le même fichier. Il y a un
-i
drapeaused
qui permet des modifications sur place. Cela crée cependant un fichier de sauvegarde dans le processus. Si ce n'est pas nécessaire, cela peut être fait en passant simplement un nom de fichier vide à-i
flag.la source