Comment effacer un texte existant dans un fichier texte sans l'ouvrir?
Je veux dire par exemple que j'ai un fichier hello.txt
avec des données textuelles, et comment puis-je effacer le texte total dans ce fichier sans l'ouvrir?
Par cela, je veux dire ne pas utiliser d’éditeur tel que nano, Gedit, etc.
command-line
bash
rɑːdʒɑ
la source
la source
Réponses:
Ouvrez simplement votre terminal avec CTRL+ ALT+ Tet tapez comme
ça y est, vos données dans ce fichier seront effacées sans même les ouvrir.
Exemple:
la source
stdout
écrase le fichier existant, le cas échéant. Dans ce cas, il n'y a rien àstdout
. Donc, le fichier est écrasé par void, ce qui efface essentiellement les données précédentes, le cas échéant.Le moyen le plus simple de tronquer un fichier consiste à rediriger la sortie de la commande no-op du shell (
:
) vers le fichier que vous souhaitez effacer.la source
>
), mais le plus rapide à coup sûr..je me demande pourquoi cela n'a pas été mentionné dans les réponses de cette question très regardée..ici, prenez +1 ..Je vais aussi utiliser la redirection comme la réponse de Rajagenupula. Mais il y a un peu plus de flexibilité. Ouvrez un terminal et tapez,
Et appuyez sur Ctrl+ C. Il effacera le fichier précédent. Si vous en voulez autant, c'est bien.
Si vous le souhaitez, vous pouvez faire quelque chose de plus après avoir effacé le fichier. De cette façon, non seulement vous pouvez effacer un fichier sans ouvrir, mais vous pouvez également écrire quelques lignes avec une mise en forme appropriée dans le fichier. Supposons que vous souhaitiez écrire "Ubuntu est le meilleur système d'exploitation" après avoir effacé le fichier.
Puis appuyez sur Ctrl+ C. Maintenant, le fichier précédent est effacé. En même temps, les mots sont en deux lignes comme je les ai mis.
Voir l'exemple:
la source
>
représente la redirection.cat > file
écrirastdout
dans un fichier en écrasant tout fichier existant.Je dois le faire tout le temps avec les fichiers journaux. Le moyen le plus simple que j'ai trouvé est d'utiliser la commande suivante:
Ceci supprime allo du contenu du fichier et vous laisse avec un fichier vide sans avoir à l'ouvrir dans un éditeur, sélectionnez du texte, aucun de ces éléments. Plus précisément, il remplace le contenu du fichier par le contenu de "/ dev / null" ou rien. C'est assez lisse, en fait.
Le seul inconvénient est que l'utilisateur avec lequel vous êtes actuellement connecté doit avoir le droit d'écriture sur ledit fichier.
la source
Si un fichier a été créé avec le nom hello.txt et a été fourni avec des textes, la commande ci-dessous dans terminal ctrl+ alt+ tsupprimera tout le texte du fichier hello.txt ,
la source
Une autre approche -
cp
le/dev/null
au fichierla source
Pas la réponse la plus courte mais ...
Cette réponse est basée sur une autre de Super User . Bien que ce ne soit pas la commande la plus courte,
truncate
c'est la plus lisible pour les débutants:Paramètres utilisés avec
truncate
commande ici:Effacer tout sauf les 10 000 premiers octets
Un avantage
truncate
est que vous pouvez spécifier combien il faut garder, pas seulement zéro:... tout tronquer après les 10 000 premiers octets. Cela pourrait être utile si un programme devenait fou et sauvegardait plusieurs mégaoctets de données dans un petit fichier journal:
truncate
commande pour une taille normale plus grande raisonnable de 10 Kola source
Donc, je vois beaucoup de redirections utilisées pour répondre à cette question;)
Une approche légèrement différente avec le combo: rm & touch
( ouais ... encore un tricheur! )
Donc avec cette commande combo le fichier hello.txt n'a pas été ouvert et à la fin vous avez toujours le fichier hello.txt à sa place avec le contenu effacé. Juste comme tu voulais!
la source
a fonctionné au mieux pour moi à cause de la permission particulière qu’il avait
la source
vi
consiste le programme et ce que font les différents paramètres et arguments.