puoi incorporare il risultato del comando usando $()
, quindi puoi seguire
$ pdfunite $(ls -v *.pdf) output.pdf
o
$ pdfunite $(ls *.pdf | sort -n) output.pdf
Tuttavia, tieni presente che questo non funziona quando il nome del file contiene caratteri speciali come spazi bianchi.
Nel caso puoi fare quanto segue:
ls -v *.txt | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" output.pdf'
Anche se sembra un po' complicato, è solo una combinazione di
- Bash:legge la riga del file separato da tabulazioni nell'array
- crea elenchi di argomenti contenenti spazi bianchi
- Come eseguire l'escape delle virgolette singole all'interno di stringhe con virgolette singole?
Nota che non puoi usare xargs
dal pdfunite
richiede input pdf come mezzo degli argomenti. Ho evitato di usare readarray
poiché non è supportato nella versione precedente di bash, ma puoi usarlo al posto di IFS=.. read -ra ..
se hai un bash
più recente .