Question Comment créer un fichier vide à partir de la ligne de commande


Comment créer un fichier vide à partir de la ligne de commande?


163
2018-01-14 19:03


origine




Réponses:


Utilisez le touch commander:

The touch utility sets the modification and access times of files to the
current time of day. If the file doesn't exist, it is created with
default permissions.

Exemple:

touch newfile

201
2018-01-14 19:06



Vous pouvez utiliser touch newfile.txt ou une autre extension aussi (si vous devez spécifier l'extension). - gotqn
@gotqn pour python touch newfile.py et pour ruby ​​newfile.rb? - kouty
Mais si newfile existe déjà et n'est pas vide, alors touch newfile vous laissera avec un non vide fichier. Peut-être pas ce que tu voulais. - Camille Goudeseune
@CamilleGoudeseune je pense que si newfile existe déjà, touch commande va juste mettre à jour l'horodatage du fichier (qui est exactement ce que commande) sans modifier le contenu du fichier. - C0deDaedalus
Vous n'avez pas à penser ça; c'est vrai! Mais ce n'est pas ce que la question a demandé. - Camille Goudeseune


> newfile

Va aussi créer un fichier vide. Si le fichier existe déjà, ce sera tronqué (vide). Pour conserver le contenu du fichier, utilisez >> pour ajouter comme dans:

>> file

Même si le fichier existe, le contenu ne sera pas modifié.

modifier: Si vous n'avez pas de contenu à taper, celui-ci est plus rapide:

user@host$ :> newfile
user@host$ :>> new_or_existing_file

Remarque. : est la commande ici. Cela ne fait pas partie de l'invite.


74
2018-01-14 19:38



Maintenant c'est nouveau. Est-ce spécifique à bash? - Tshepang
Je ne pense pas. Tout shell autorisant la redirection du flux de sortie vers un fichier doit le supporter. Cela tronquera le fichier s'il existe déjà. Touch est sûr à utiliser si vous ne voulez pas le vider. - balki
Wow maintenant je pense que cela s'appelle tricher le système - banarun


cat /dev/null > file1.ext 

la façon exacte il y a aussi une autre façon

echo "" > file2.ext 

La différence est que fichier1.ext sera zéro octet et fichier2.ext sera un octet. Vous pouvez vérifier cela par

ls -l file*.*

12
2018-01-15 06:56



Non, 'echo "">' ne crée pas de fichier vide, il crée un fichier contenant une nouvelle ligne. Si pour une raison quelconque vous souhaitez utiliser echo pour créer un fichier vide, vous devrez utiliser "echo -n" ">" ou simplement "echo -n>" - andol


En utilisant vim éditeur, vous pouvez également créer un fichier vide.

vim filename

Alors sauver

:wq

7
2018-04-03 09:41



Eh bien, dans ce cas pas un éditeur de texte, mais vim. - Nephente


La commande

echo -n > file

crée un fichier vide, si votre version de echo supporte le commutateur -n.

Ou vous pourriez utiliser printf

printf '' > file

2
2018-06-22 09:47





Python one-liner:

$ python -c 'import sys,os;f=sys.argv[1];os.utime(f,None) if os.path.exists(f) else open(f,"a").close' myfile.txt

Fondamentalement, la mise en œuvre de python de touch.

Nous pouvons le raccourcir avec ceci:

$ python -c 'import sys,os;f=sys.argv[1];'$'\n''with open(f,"a"): os.utime(f,None)' mysecondfile.txt 

0
2017-07-10 11:17