Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260

    Selezionare una certa parola della riga

    Salve.
    Se ho salvato una certa frase in una variabile in uno script in linux,come faccio a salvare in un'altra variabile la parola che sta ad una certa posizione?

    esempio:
    frase= " ciao a tutti voi "

    voglio salvare la 3a parola della frase che e' "tutti"....

    come faccio?

    grazie

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Script di linux? Quale "dialetto"?

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    bash.

    tipo devo salvare la grandezza di file ottenuta tramite

    'ls -al <nome_file>'

    e si trova alla quinta parola..

    con

    ' ls -al <nome_file> | cut -f5 -d " " '

    non ottengo quello che voglio....

    idee?

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    con -d9 mi becca giusta la 5a parola...come mai?

  5. #5
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Succede perché i campi della riga non sono separati da uno spazio solo, una soluzione potrebbe essere

    codice:
    ls -l | tail -n +2 | tr -s [:space:] | cut -d " " -f 5
    Il tail serve a togliere dall'output la prima riga di ls (total X per intenderci) dopo il cut risulterebbe come usa linea vuota.

  6. #6
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Ci ho fatto caso solo dopo che ls lo chiami con un solo file come parametro, quindi leva il tail, altrimenti non funziona più.

  7. #7
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    ls -l | tr -s [:space:] | cut -d " " -f 5

    mi ritorna il 2o parametro (quello dopo la descrizione dei permessi)....

    cosa fa di specifico 'tr -s [:space:]' ?

  8. #8
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    ls -l | tr -s " " | cut -d " " -f 5

    cosi funziona....cancella tutte le occorrenze di una stringa di caratteri consecutivi, tranne la prima.


  9. #9
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Non che dubiti, ma sei sicuro che "tr -s [:space:]" non funziona? Perché nel caso specifico dovrebbe essere equivalente usare "[:space:]" o uno spazio soltanto.

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    260
    sto provando questi script in un shell ridotta di linux dove non sono presenti tutti i comandi...
    nello specifico ti rimando a cosa mi riferisco:
    FOX

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.