Existe-t-il un moyen de modifier un fichier s'il n'y a pas vi, vim, joe, mcedit? En d'autres termes, existe-t-il un moyen de modifier un fichier en utilisant uniquement les commandes shell?
linux
shell
text-editors
editing
text-editing
Eduard Florinescu
la source
la source
cat file
, suivicat >file
et arranger les pièces avec coupe + coller et / ou en tapant, avec finitionctrl-d
.echo <<EOF > new.file [paste here] EOF
. Modifiez le contenu du fichier sur le PC hôte.Réponses:
Dans ce cas, j'essayais de transférer des fichiers et de les modifier sur un autre ordinateur, puis de les transférer à nouveau. Si vous avez ssh, vous devriez avoir scp (j'espère), vous devriez donc être capable de pousser des fichiers vers l'intérieur et vers l'extérieur. Sinon, vous pouvez également rechercher ftp pour transférer des fichiers vers et depuis.
Sinon, je pense que votre meilleure option est d'essayer d'utiliser la redirection cat, grep, sed, echo et I / O (en particulier avec
>>
). Et beaucoup de fichiers temporaires.Bien que si vous avez accès à perl (ou quelque chose de similaire), vous pouvez l'exécuter sans arguments et il vous permettra d'entrer une source de script à partir de l'entrée standard. Une fois que vous appuyez sur ctrl + d, il peut alors exécuter le script. Vous pouvez utiliser cette méthode pour créer un fichier. Ce serait plus puissant que de pirater quelque chose sur la ligne de commande comme je l'ai mentionné précédemment.
la source
J'imagine que vous pourriez faire ce dont vous avez besoin
grep
etperl
- recherchez la ligne avec laquelle vous voulezgrep
, modifiez cette ligne avecperl
(perl
peut agir comme un grand remplacement poursed
) et confirmez ensuite que vous n'avez pas apporté plus de modifications que vous ne le souhaitiezdiff filename filename.new
. Si oui, rendez les changements permanents -mv filename.new filename
la source
En supposant que vous êtes SSH sur votre routeur, vous pouvez également utiliser divers utilitaires pour transférer le fichier en arrière et quatrième sur votre ordinateur / routeur. Vous pouvez télécharger une copie sur votre PC, la modifier, puis la renvoyer au routeur via SFTP (voir Putty ou WinSCP si vous êtes un utilisateur Windows).
Cependant, si vous utilisez un firmware personnalisé sur le routeur / la passerelle, vous aurez peut-être de la chance. Il existe différents packages Optware contenant des éditeurs de texte simples (et petits). En fonction de vos besoins, vous pouvez obtenir le
nano
package, ou tout simplement choisir celuibusybox
qui contientvi
.la source
Une façon serait de produire le résultat d'un écho.
Cela fera un fichier intitulé bar.yxy avec le texte contenant, "foo".
la source
Avez-vous effacé / bin ou quelque chose? Sinon, vous pourriez peut-être pirater quelque chose avec les utilitaires de texte de GNU Coreutils qui devraient être standard sur un système Linux.
la source