• STATISTIQUES
  • Il y a eu un total de 4 membres et 5149 visiteurs sur le site dans les dernières 24h pour un total de 5 153 personnes!


    2 membres se sont inscrits dans les dernières 24h!


    Membres: 2 608
    Discussions: 3 580
    Messages: 32 820
    Tutoriels: 78
    Téléchargements: 38
    Sites dans l'annuaire: 58


  • ANNUAIRE
  • [FR] Kalkulators
    Ce projet a plusieurs buts, le premier étant l’étude de toutes formes cryptographiques, le cot&ea...
    Cryptographie
    [FR] WeChall
    Audio: 3, Coding: 11, Cracking: 9, Crypto: 18, Encoding: 11, Exploit: 44, Forensics: 1, Fun: 6, HTTP: 6, Image: 8, Java:...
    Challenges
    [EN] Bright Shadows
    JavaScript: 13, Exploit: 27, Crypto: 69, CrackIt: 52, Stegano: 67, Flash: 3, Programming: 16, Java-Applet: 10, Logic: 20...
    Challenges
    [FR] Infomirmo
    Challenge présenté sous la forme de 6 niveaux de difficultés diverses et variées avec chacun plusieurs chall...
    Challenges
    [EN] Defcon
    Lancé en 1992 par Dark Tangent, DEFCON est la plus ancienne et la plus grande conférence underground de...
    Hacking
    [EN] hax.tor
    50 level de challenges mélangés
    Challenges
    [EN] osix
    Site de challenge qui utilise un système de level on chaque épreuve doit être réussie avant d'accédÃ...
    Challenges

  • DONATION
  • Si vous avez trouvé ce site internet utile, nous vous invitons à nous faire un don du montant de votre choix via Paypal. Ce don servira à financer notre hébergement.

    MERCI!

    €



Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
24-10-2013, 10h33
Message : #1
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
j'ai hésité à poster dans les challenges de la communauté, en tous cas j'ai pas de solution pour le moment donc je suis preneur Smile

on a un fichier de log, le but donc c'est de ne garder que les 10 dernieres lignes et effacer tout le reste, le tout sans opération destructive c'est à dire que si j'avais un tail -f sur mon fichier il doit pouvoir continuer de fonctionner, aka "inplace"
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (0) -1 (1) Répondre
24-10-2013, 14h06
Message : #2
levur Hors ligne
Membre
*



Messages : 27
Sujets : 3
Points: 10
Inscription : Sep 2013
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
et si tu fais une redirection en boucle du style :
Citation :tail 10 -f le_log >> le_log
ou ça constitue une destruction de ton fichier ?

ou encore tu stocke dans une var les 10 last ligne puis tu les insert dans ton fichier le tout avec un awk ?

je saisi pas trop la != entre 'opération destructive' et 'effacer tout le reste' Huh
Citation :Staline a hérité d'une Russie à la charrue, et l'a laissée avec l'arme atomique,
L'histoire n'oublie pas de telles personnes...
Churchill 1959 Chambre des Communes
+1 (1) -1 (0) Répondre
24-10-2013, 20h56
Message : #3
gruik Hors ligne
gouteur de savon
*



Messages : 757
Sujets : 44
Points: 482
Inscription : Oct 2012
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
(24-10-2013, 14h06)levur a écrit : tail 10 -f le_log >> le_log

wat ? non.

non de toutes façons c'est moi qui n'étais pas réveillé ce matin et racontais passablement n'importe quoi

en fait je pensais à quelque chose du genre
Code :
sed -i 1,$((`wc -l < fichier` - 10))d fichier
pour le coup on a bien un delete inplace mais c'est justement ce qu'on ne veut pas et qui casse le tail -f

la solution est simple, pas se casser la tête :
Code :
echo "$(tail -n10 fichier)" > fichier

fin de l'histoire
Avant donc que d'écrire, apprenez à penser.
Selon que notre idée est plus ou moins obscure, l'expression la suit, ou moins nette, ou plus pure.
Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément.
(Nicolas Boileau, L'Art poétique)
+1 (2) -1 (1) Répondre
24-10-2013, 21h26
Message : #4
b0fh Hors ligne
Membre actif
*



Messages : 210
Sujets : 17
Points: 309
Inscription : Jul 2012
RE: effacer toutes les lignes sauf les 10 dernieres sans détruire le fichier
La solution avec echo va foirer lamentablement passé une certaine taille (limitation de la taille max des arguments a une commande)

Ca fait lance run message d'erreur à tail, mais techniquement, pour effacer les n dernières lignes d'un fichier en préservant le reste, l'approche correcte est de faire un truncate, soit avec la commande idoine, soit avec dd:

Code :
truncate -s $((`wc -c <"$fichier"` - `tail -n $lignes |wc -c` )) "$fichier"

Code :
dd if=/dev/null bs=1 of="$fichier" seek=$((`wc -c <"$fichier"` - `tail -n $lignes |wc -c` ))
+1 (1) -1 (0) Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
N-PN
Accueil | Challenges | Tutoriels | Téléchargements | Forum | Retourner en haut