Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Comando incasinato...

  1. #1
    Utente di HTML.it L'avatar di Trusty
    Registrato dal
    Dec 2004
    Messaggi
    642

    Comando incasinato...

    Ciao a tutti,

    devo scrivere un comando che crea una sottodirectory della directory corrente con nome text (nome nuova dir).Quindi copia in questa dir tt i file con estensione .txt contenuti nella propria home. Se la dir text esiste già, il comando rimuove da questa i file il cui nome non inizia con almeno due caratteri alfanumerici o che nn hanno estensione .txt .

    aaaarh! chi mi aiuta?
    http://www.oilproject.org/ -->La Scuola On-LIne degli smanettoni!

  2. #2
    Utente di HTML.it L'avatar di cacao74
    Registrato dal
    Jan 2005
    Messaggi
    2,570

    Re: Comando incasinato...

    Originariamente inviato da Trusty
    Ciao a tutti,

    devo scrivere un comando che crea una sottodirectory della directory corrente con nome text (nome nuova dir).Quindi copia in questa dir tt i file con estensione .txt contenuti nella propria home. Se la dir text esiste già, il comando rimuove da questa i file il cui nome non inizia con almeno due caratteri alfanumerici o che nn hanno estensione .txt .

    aaaarh! chi mi aiuta?
    Leggiti la man di bash e/o una guida per l'utilizzo dei vari comandi della shell. Ce ne sono a bizzeffe di guide, sia sul forum che in giro per il mondo, e sul forum si discute spesso di comandi...

    Descrivi il problema, poi traduci in codice.
    Esempio:

    - crea sottodirectory in directory corrente chiamandola 'text'
    Quale comando permette di creare directory? --> mkdir
    Come si usa questo comando? --> man mkdir

    - copia nella directory text (tt ? che lingua e') i file .txt
    Quale comando permette la copia di files? cp
    Come si usa? man cp

    [segue ad libitum]

    ciao
    slack? smack!

  3. #3
    copia questo testo in un file.
    Assegnali i permessi di esecuzione.
    Per lanciarlo dovrai digitare ./nome_file all' interno della directory in cui si trova.
    Altrimenti crea un link ad esempio
    ln -s nome_file /usr/bin

    ----------------
    #!/bin/bash

    echo "Ti trovi nella directory"
    echo ""
    pwd
    echo ""
    echo "Per interrompere il comando premi ctrl+c"
    sleep 3

    if [ -d text ]; then

    rm -rf text/[! *.txt]

    else

    mkdir text

    cp ~/*.txt text/

    fi
    ---------------------

    Non l' ho provato. In particolare non sono sicuro che la sintassi
    rm -rf text/[! *.txt]
    sia corretta per rimuovere tutti i file che NON hanno estensione .txt.
    Provalo.
    Ciao!
    Faccio parte di questo mondo, cambiare me stesso significa cambiare il mondo.

  4. #4
    Dimenticavo, se vuoi che cp conservi i permessi e i propietari dei file devi aggiungere l' opzione -a se non ricordo male. Dai un occhio al man.
    ciao!
    Faccio parte di questo mondo, cambiare me stesso significa cambiare il mondo.

  5. #5
    Non l' ho provato. In particolare non sono sicuro che la sintassi
    rm -rf text/[! *.txt]
    sia corretta per rimuovere tutti i file che NON hanno estensione .txt.
    Risolto, correggi lo script di prima:
    ---------------
    if [ -d text ]; then

    cd text
    ls | grep -v txt$ | xargs rm -f

    else

    ----------------

    ...rimuove da questa i file il cui nome non inizia con almeno due caratteri alfanumerici o che nn hanno estensione .txt .
    Devi fare entrambe le cose ò è sufficiente una delle 2 ?
    Faccio parte di questo mondo, cambiare me stesso significa cambiare il mondo.

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.