Je veux vider 3 fichiers ou les générer s'ils n'existent pas. La commande suivante est-elle correcte?générer des fichiers vides
> myone.txt > mytwo.txt > mythree.txt
ou y a-t-il un meilleur moyen?
Je veux vider 3 fichiers ou les générer s'ils n'existent pas. La commande suivante est-elle correcte?générer des fichiers vides
> myone.txt > mytwo.txt > mythree.txt
ou y a-t-il un meilleur moyen?
Vous pouvez utiliser la touche tactile pour créer des fichiers vides s'il n'y en a pas. Dans le cas contraire, ce que vous faites est bien
>file1 >file2
Non, pas de la coque. La lecture du système généré appelle pour cela, il est aussi très efficace pour une commande du shell:
[email protected]:~$ strace bash -c '> a > b > c'
...
open("a", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_GETFD) = 0
fcntl64(1, F_DUPFD, 10) = 10
fcntl64(1, F_GETFD) = 0
fcntl64(10, F_SETFD, FD_CLOEXEC) = 0
dup2(3, 1) = 1
close(3) = 0
open("b", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_GETFD) = 0
fcntl64(1, F_DUPFD, 10) = 11
fcntl64(1, F_GETFD) = 0
fcntl64(11, F_SETFD, FD_CLOEXEC) = 0
dup2(3, 1) = 1
close(3) = 0
open("c", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 3
fcntl64(1, F_GETFD) = 0
fcntl64(1, F_DUPFD, 10) = 12
fcntl64(1, F_GETFD) = 0
fcntl64(12, F_SETFD, FD_CLOEXEC) = 0
dup2(3, 1) = 1
close(3)
J'utilise habituellement touch pour créer des fichiers vides. Il est généralement converti en utilitaire pour mettre à jour les horodatages, mais crée également le fichier nommé s'il n'existe pas.
Alternative toucher utilise dd
qui peut être utilisé pour tronquer les fichiers existants,
dd if=/dev/null of=moo count=0
Une chose que vous ne pouvez pas faire avec >
est quelque chose comme >file{0..9}
ou >file{foo,bar,baz}
. Toutefois, si votre système a truncate
vous pouvez le faire:
truncate --size 0 file{0..9}
truncate --size 0 file{foo,bar,baz}
En utilisant différents arguments avec --size
vous pouvez réduire ou étendre un fichier, mais il ne vide pas la première sauf si vous utilisez 0
pour la taille (en le premier de deux passages, par exemple). Les fichiers étendus sont complétés avec des valeurs nulles.
Va-t-il vider le contenu du fichier si le fichier existe déjà? – shantanuo
no. ce ne sera pas – ghostdog74
Hmm, bon point. Je viens d'attraper la partie 'générer' de la question ... – JAL