2010-05-07 3 views

Répondre

2

Pour trouver le nombre de lignes:

find/-type f -ctime 0 -mtime 0 -print0 | xargs -0 wc -l

C'est presque ce que vous voulez. Il n'y a pas de temps de création de fichier sous Unix, il s'agit d'une approximation avec à la fois l'heure du fichier modifié et l'heure du fichier modifié. Si vous souhaitez rechercher uniquement dans certains répertoires, remplacez / par /path/to/your/dir.

Pour trouver le nombre de fichiers:

find/-type f -ctime 0 -mtime 0 | wc -l

+0

Je le sais - avez-vous lu ma réponse :-)? – pajton

+0

Thansk pajton.Il a travaillé. :) –

0

Déterminer quand un fichier a été créé est fiable difficile. Le mtime est quand il a été modifié, le ctime est quand les données d'inode ont été changées (changement d'autorisations, par exemple), le atime est quand les données de fichier ont été accédées la dernière fois. Habituellement, le temps est substitut pour le temps de création; Lorsqu'un fichier est créé, il enregistre l'heure de création (comme ctime et atime), mais si le fichier est modifié ultérieurement, le mtime enregistre l'heure à laquelle le contenu du fichier a été modifié pour la dernière fois.

find . -mtime -1 -print0 | xargs -0 wc -l 

Trouver tous les fichiers dans le répertoire en cours avec un temps de modification moins de 24 heures et envoyer les noms « wc -l » - permettant des espaces et autres caractères bizarres dans les noms de fichiers.

0

Ceci trouvera des fichiers (-type f) modifié en /path les dernières 24 heures (-mtime -1 moyens modifiés dans le dernier 1 jour) et exécutez wc -l pour compter le nombre de lignes. {} est un espace réservé pour les noms de fichiers et + signifie transmettre tous les noms de fichiers à une seule invocation de wc.

find /path -mtime -1 -type f -exec wc -l {} + 

Notez que -ctime comme suggéré dans d'autres réponses est temps de changement, pas le temps de création. C'est la dernière fois que le propriétaire, le groupe, le nombre de liens, le mode, etc. d'un fichier a été modifié. Unix ne suit pas l'heure de création d'un fichier.

+0

Votre réponse et votre style d'écriture ressemblent étrangement au mien. Tout comme votre représentant et vos badges. – Thomas

0
find . -maxdepth 1 -daystart -ctime 0 -type f | xargs wc -l 

Vous aurez besoin de changer la valeur d'argument maxdepth si vous avez besoin de regarder plus profondément.

0

Pour compter le nombre de fichiers modifiés aujourd'hui:

find . -daystart -type f -ctime -1 | wc -l 

find trouve tous les fichiers (-type f) dans le répertoire courant (.) créé * (-ctime) plus récemment (-) d'un (1) jour depuis le début de cette journée (-daystart). wc compte le nombre de lignes (-l) dans la sortie find.

Pour compter les lignes dans ces fichiers:

find -daystart -type f -ctime -1 -print0 | wc -l --files0-from=- 

La première partie est le même, sauf que find sépare les noms de fichiers en utilisant les valeurs NULL (-print0). wc compte les lignes (-l) dans les fichiers NULL (--files0-from=) sur son entrée standard (-).

* ctime n'est pas réellement l'heure de création, mais l'heure à laquelle l'état du fichier a été modifié pour la dernière fois. Je ne pense pas que le système de fichiers conserve le temps de création réel.

Questions connexes