preparare script senza xsel ?

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

preparare script senza xsel ?

Messaggio da mamaori » lunedì 19 agosto 2019, 10:20

ho questo script che seleziona un testo e tramite scorciatoia da tastiera lo invia ad uno script_finale.sh per essere elaborato ed ottenere un risultato ...
#!/bin/bash
text=`xsel`
/home/script_finale.sh $text
exec bash
Funziona perfettamente ma ... posso sostituire 'xsel' con un semplice file di testo_scritto.txt con all'interno delle righe di testo che vengono inviate allo script_finale.sh ed essere elaborate come con il comando 'xsel' ??

Esempio che NON funziona ma vorrei poter far funzionare, sostituendo 'xsel' con un file di testo scritto ...
#!/bin/bash
text=/home/testo_scritto.txt
/home/script_finale.sh $text
exec bash
grazie !!!

Avatar utente
Sam9999
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1902
Iscrizione: lunedì 9 giugno 2014, 8:59
Desktop: Studio Xfce
Distribuzione: Ubuntu 20.04 LTS (Focal)
Località: BO
Contatti:

Re: preparare script senza xsel ?

Messaggio da Sam9999 » lunedì 19 agosto 2019, 11:38

NOn so se ti è utile, io leggo un file (.domini) facendo una funzione del genere:

Codice: Seleziona tutto

restore=$(cat .domini)
read data

function domini {
    while [ $1 ]; do
        cd /home/fserve/backup
        echo "Dominio $1"
Il contenuto è nella variabile data, separabile da spazi o rientri.
-------------
S. @-M.
-------------

Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3791
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile
Contatti:

Re: preparare script senza xsel ?

Messaggio da UbuNuovo » lunedì 19 agosto 2019, 18:53

Se vuoi mettere il testo di un file in una variabile, puoi fare:

Codice: Seleziona tutto

text=$(cat "/home/testo_scritto.txt")
Nel caso in cui sia il primo a rispondere ad una richiesta di aiuto...chiunque abbia una soluzione migliore o anche solo diversa dalla mia è incoraggiato ad intervenire liberamente senza inviarmi alcun messaggio privato. In programmazione è basilare sapere che si può ottenere il medesimo risultato utilizzando metodi diversi.

mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

Re: preparare script senza xsel ?

Messaggio da mamaori » lunedì 19 agosto 2019, 19:12

grazie ragazzi !!! siete fantastici !!!

mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

Re: preparare script senza xsel ?

Messaggio da mamaori » lunedì 19 agosto 2019, 19:13

dico davvero !!!!!

mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

Re: preparare script senza xsel ?

Messaggio da mamaori » martedì 20 agosto 2019, 9:52

funziona perfettamente ma ... vi prego l'ultimo aiuto
... se ho una lista con piu' di una riga all'interno diciamo 3 righe o piu', dando il comando
#!/bin/bash
text=$(cat "/home/testo_scritto.txt")
/home/script_finale.sh $text
exec bash
mi aggiunge soltanto la prima riga, esempio ... nel file testo_scritto.txt ho ...
casa
lavoro
palestra
con quel comando ottengo sul file script_finale.sh soltanto 'casa', come riesco ad aggiungere tutti e 3 gli elementi iscritti ed eventuali altre righe nel file di destinazione script_finale.sh ????

grazieee !!!

Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3791
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile
Contatti:

Re: preparare script senza xsel ?

Messaggio da UbuNuovo » martedì 20 agosto 2019, 10:58

Bisognerebbe vedere com'è fatto script_finale.sh, come gestisce i parametri passati allo script.
Credo che il problema dipenda dal fatto che non quoti il parametro passato allo script "$text", è buona abitudine quotare le variabili.
Prova a mettere le virgolette, così:

Codice: Seleziona tutto

/home/script_finale.sh "$text"
Nel caso in cui sia il primo a rispondere ad una richiesta di aiuto...chiunque abbia una soluzione migliore o anche solo diversa dalla mia è incoraggiato ad intervenire liberamente senza inviarmi alcun messaggio privato. In programmazione è basilare sapere che si può ottenere il medesimo risultato utilizzando metodi diversi.

Avatar utente
Sam9999
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1902
Iscrizione: lunedì 9 giugno 2014, 8:59
Desktop: Studio Xfce
Distribuzione: Ubuntu 20.04 LTS (Focal)
Località: BO
Contatti:

Re: preparare script senza xsel ?

Messaggio da Sam9999 » martedì 20 agosto 2019, 11:58

Occorre vedere come fai passare i parametri o fare il ciclo while per fare leggere una riga per volta e farla passare allo script.

Inoltre di certo puoi integrare il tutto in un solo script.
-------------
S. @-M.
-------------

mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

Re: preparare script senza xsel ?

Messaggio da mamaori » martedì 20 agosto 2019, 12:04

Questa e' il "testo_origine.txt"
La palla di AAAA sta per tutto il tempo con BBBB e torna a CCCC
Questo e' il "testo_scritto.txt" ...
Anna Greta Giulia
Luca Gigi Andrea
Piero Pina Paolo
Questo e' lo "script.sh" ...
#!/bin/bash
text=$(cat "/home/testo_scritto.txt")
/home/script_finale.sh $text
exec bash
Questo e' lo "script_finale.sh" ...
#!/bin/bash
text1=$1
text2=$2
text3=$3
file_orig=/home/testo_origine.txt
sed -e "1s/AAAA/$text1/" -e "1s/BBBB/$text2/" -e"1s/CCCC/$text3/" "$file_orig" >> /home/risultato.txt
Questo e' il "risultato.txt"
La palla di Anna sta per tutto il tempo con Greta e torna a Giulia
Ma il risultato sperato vorrei fosse ...
La palla di Anna sta per tutto il tempo con Greta e torna a Giulia
La palla di Luca sta per tutto il tempo con Gigi e torna a Andrea
La palla di Piero sta per tutto il tempo con Pina e torna a Paolo
E..... in caso risultato.txt fosse invece risultato.sh ovvero uno script ... posso dare questo comando e far si che i comandi contenuti in risultato.sh possano poi essere lanciati sul terminale per essere eseguiti ... ????
............ "$file_orig" >> ./home/risultato.sh
Con uno script del genere posso fare davvero tante tante cose !!!

Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3791
Iscrizione: sabato 12 dicembre 2009, 20:58
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile
Contatti:

Re: preparare script senza xsel ?

Messaggio da UbuNuovo » martedì 20 agosto 2019, 13:52

mamaori [url=https://forum.ubuntu-it.org/viewtopic.php?p=5147451#p5147451][img]https://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:....
E..... in caso risultato.txt fosse invece risultato.sh ovvero uno script ... posso dare questo comando e far si che i comandi contenuti in risultato.sh possano poi essere lanciati sul terminale per essere eseguiti ... ????
............ "$file_orig" >> ./home/risultato.sh
Con uno script del genere posso fare davvero tante tante cose !!!
Questo lo dovresti spiegare meglio.

Per il resto puoi usare un solo script :

Codice: Seleziona tutto

#!/bin/bash

file_dati='testo_scritto.txt'
file_orig='testo_origine.txt'
file_risultato='risultato.txt'

while read text1 text2 text3;do
	sed -e "1s/AAAA/$text1/" -e "1s/BBBB/$text2/" -e"1s/CCCC/$text3/" "$file_orig" >> "$file_risultato"
done < "$file_dati"
Ho fatto una prova con tutti i file nella stessa directory, tu devi mettere i percorsi ai file nelle assegnazioni delle variabili.
Nel caso in cui sia il primo a rispondere ad una richiesta di aiuto...chiunque abbia una soluzione migliore o anche solo diversa dalla mia è incoraggiato ad intervenire liberamente senza inviarmi alcun messaggio privato. In programmazione è basilare sapere che si può ottenere il medesimo risultato utilizzando metodi diversi.

mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

Re: preparare script senza xsel ?

Messaggio da mamaori » mercoledì 21 agosto 2019, 0:10

G R A Z I E ! ! ! M'hai fatto un gran regalo, fikoooo!!!! Bello .
Era uno script per scaricare Video con intervallo di tempo per una persona che e' poco esperta di computer, per Apple iOS usando brew . Per chi lo volesse ...

File di ORIGINE ... origine.txt
ffmpeg -i $(tubtub-dl -f 22 --get-url https://vvv.tubtub.wok/guarda?v=vAAAA) \-ss BBBB -t CCCC -c:v copy -c:a copy \video$(date +%Y-%m-%d_%H-%M-%S).mp4
testo_selezione.txt ...
Questo e' lo "script.sh" ...
#!/bin/bash

file_dati='/home/linux/testo_selezione.txt'
file_orig='/home/linux/origine.txt'
file_risultato='/home/linux/risultato.sh'

while read text1 text2 text3;do
text1=$(grep -o '=.*' <<< "$text1")
sed -e "1s/AAAA/$text1/" -e "1s/BBBB/$text2/" -e "1s/CCCC/$text3/" "$file_orig" >> "$file_risultato"
done < "$file_dati"
chmod u+x "$file_risultato"
"$file_risultato"
Praticamente crea il comando corretto attraverso un semplice foglio di testo con all'interno i link (da scrivere) dei video e la durata (da - a) , poi basta lanciare lo script e ti trovi i video scaricati senza dover far piu' nulla... che fikata !! hehehe
Grazie, sono contento
Ultima modifica di mamaori il martedì 15 ottobre 2019, 23:39, modificato 2 volte in totale.

mamaori
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 274
Iscrizione: venerdì 11 dicembre 2009, 16:31

Re: preparare script senza xsel ?

Messaggio da mamaori » martedì 15 ottobre 2019, 23:16

mi sono un po' perso ! scusate

Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 5 ospiti