Domanda Come creare un file vuoto dalla riga di comando


Come posso creare un file vuoto dalla riga di comando?


163
2018-01-14 19:03


origine




risposte:


Usa il touch comando:

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.

Esempio:

touch newfile

201
2018-01-14 19:06



Puoi usare touch newfile.txt o qualche altra estensione, anche (se è necessario specificare l'estensione). - gotqn
@gotqn per python touch newfile.py e per ruby ​​newfile.rb? - kouty
Ma se newfile esiste già e non è vuoto, quindi touch newfile ti lascerò con a non vuota file. Forse non quello che volevi. - Camille Goudeseune
@ CamilleGoudeseune Penso che se newfile esiste già, touch il comando sarà giusto aggiorna il timestamp del file (che è esattamente il comando per) senza modificare il contenuto del file. - C0deDaedalus
Non devi pensarlo; è vero! Ma non è quello che la domanda ha posto. - Camille Goudeseune


> newfile

Sarà anche creare un file vuoto. Se il file esiste già, lo sarà troncato (Svuotato). Per mantenere il contenuto del file, utilizzare >> per aggiungere come in:

>> file

Anche se il file esiste, i contenuti non saranno toccati.

modificare: Se non hai alcun contenuto da digitare, questo è più veloce:

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

Nota. : è il comando qui. Non fa parte del prompt.


74
2018-01-14 19:38



Ora è nuovo. E 'bash-specifico? - Tshepang
Io non la penso così Qualsiasi shell che permetta il reindirizzamento del flusso di output in un file dovrebbe supportare questo. Questo troncerà il file se già esiste. il tocco è sicuro da usare se non vuoi svuotarlo. - balki
Wow ora penso che questo si chiami imbrogliare il sistema - banarun


cat /dev/null > file1.ext 

nel modo esatto c'è anche un altro modo

echo "" > file2.ext 

La differenza è file1.ext sarà zero byte e file2.ext sarà un byte. Puoi controllare questo

ls -l file*.*

12
2018-01-15 06:56



No, "echo" ">" non crea un file vuoto, crea un file contenente una nuova riga. Se per qualche ragione vuoi usare echo per creare un file vuoto dovrai usare "echo -n" ">", o semplicemente "echo -n>" - andol


utilizzando vim editor puoi anche creare un file vuoto.

vim filename

Quindi salva

:wq

7
2018-04-03 09:41



Bene, in questo caso non un editor di testo ma vim. - Nephente


Il comando

echo -n > file

crea un file vuoto, se la tua versione di echo supporta l'opzione -n.

O potresti usare 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

Fondamentalmente, l'implementazione Python di touch.

Possiamo renderlo più breve con questo:

$ 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