preparare script senza xsel ?

Linguaggi di programmazione: php, perl, python, C, bash, ecc.

preparare script senza xsel ?

Messaggioda mamaori » lunedì 19 agosto 2019, 9: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 !!!
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009

Re: preparare script senza xsel ?

Messaggioda Sam9999 » lunedì 19 agosto 2019, 10: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
Sam9999
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1818
Iscrizione: giugno 2014
Località: BO
Desktop: Studio Xfce
Distribuzione: Ubuntu 19.10 (Eoan Ermine)

Re: preparare script senza xsel ?

Messaggioda UbuNuovo » lunedì 19 agosto 2019, 17: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.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3514
Iscrizione: dicembre 2009
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile

Re: preparare script senza xsel ?

Messaggioda mamaori » lunedì 19 agosto 2019, 18:12

grazie ragazzi !!! siete fantastici !!!
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009

Re: preparare script senza xsel ?

Messaggioda mamaori » lunedì 19 agosto 2019, 18:13

dico davvero !!!!!
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009

Re: preparare script senza xsel ?

Messaggioda mamaori » martedì 20 agosto 2019, 8: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 !!!
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009

Re: preparare script senza xsel ?

Messaggioda UbuNuovo » martedì 20 agosto 2019, 9: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
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3514
Iscrizione: dicembre 2009
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile

Re: preparare script senza xsel ?

Messaggioda Sam9999 » martedì 20 agosto 2019, 10: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.
-------------
Avatar utente
Sam9999
Entusiasta Emergente
Entusiasta Emergente
 
Messaggi: 1818
Iscrizione: giugno 2014
Località: BO
Desktop: Studio Xfce
Distribuzione: Ubuntu 19.10 (Eoan Ermine)

Re: preparare script senza xsel ?

Messaggioda mamaori » martedì 20 agosto 2019, 11: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 !!!
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009

Re: preparare script senza xsel ?

Messaggioda UbuNuovo » martedì 20 agosto 2019, 12:52

mamaori Immagine 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.
Avatar utente
UbuNuovo
Imperturbabile Insigne
Imperturbabile Insigne
 
Messaggi: 3514
Iscrizione: dicembre 2009
Desktop: Mate
Distribuzione: Ubuntu 14.04
Sesso: Maschile

Re: preparare script senza xsel ?

Messaggioda mamaori » martedì 20 agosto 2019, 23: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 ...
https://vvv.tubtub.wok/guarda?v=12345678910 00:00:10 00:00:30
https://https://vvv.tubtub.wok/guarda?v=abcdefghilm 00:02:10 00:05:30
https://https://vvv.tubtub.wok/guarda?v=nopqrstuvzx 00:11:10 00:11:55


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, 22:39, modificato 2 volte in totale.
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009

Re: preparare script senza xsel ?

Messaggioda mamaori » martedì 15 ottobre 2019, 22:16

mi sono un po' perso ! scusate
mamaori
Scoppiettante Seguace
Scoppiettante Seguace
 
Messaggi: 254
Iscrizione: dicembre 2009


Torna a Programmazione

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 2 ospiti