Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    cancellare file che contengono una data stringa

    non è che niente niente sapete dove trovare uno scrippettino di shell in grado di cancellare tutti file che contengono una data stringa, sottodirectory comprese? sto smanettando con grep e sed ma data la natura dello scopo temo di fare casino
    Sotto la panza la mazza avanza.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    ecco qua una prima versione...per il momento non funziona con directory contenenti spazi (e presumibilmente altre aberrazioni del genere) nel nome; mentre con i file gli spazi non dovrebbero creare problemi

    codice:
    #!/bin/bash -e
    
    DIR="${1}"
    CH_STR="${2}"
    OP="${3}"
    
    USAGE="${0} <directory> <string> <opts>\n
       \"string\" is the string to search for,
       \"opts\" are the options to be passed to \"grep\" (optional).\n"
       
    if [ "${DIR}" == "-h" ] ; then
         echo -e "${USAGE}"
         exit 1
    elif [ -z "${DIR}" ] || [ -z "${CH_STR}" ] ; then
         echo -e "Missing arguments...\nTry ${0} -h for brief usage informations."
         exit 1
    elif [ ! -d "${DIR}" ] ; then
         echo "Directory ${DIR} does not exist..."
         exit 1
    fi
    
    for CURDIR in  $(find "${DIR}" -type d );
         do
         for FILE in "${CURDIR}"/*; 
    	  do
    	  [ -f "$FILE" ] &&   
    	  STRING=$(grep ${OP} ${CH_STR} "${FILE}") &&
    	  if [ -n "${STRING}" ] ; then
    	       rm -v "${FILE}"
    	  fi
         done
    done | tee -a /tmp/op.log___ && exit $PIPESTATUS

  3. #3
    gentilissimo, lo provo al più presto
    Sotto la panza la mazza avanza.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2005
    Messaggi
    746
    magari provalo su una copia della directory [non dovrebbe essere pericoloso, ma non si sa mai]

  5. #5
    funziona a meraviglia, grazie

    prima o poi dovrò decidermi a imparare un po' di sano shell scripting...
    Sotto la panza la mazza avanza.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.