GNU/Linux >> Znalost Linux >  >> Linux

Sloučit soubory pdf s číselným řazením

výsledek příkazu můžete vložit pomocí $() ,takže můžete sledovat

$ pdfunite $(ls -v *.pdf) output.pdf

nebo

$ pdfunite $(ls *.pdf | sort -n) output.pdf

Mějte však na paměti, že to nefunguje, pokud název souboru obsahuje speciální znak, jako je mezera.

V takovém případě můžete provést následující:

ls -v *.txt | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" output.pdf'

I když se to zdá trochu komplikované, je to jen kombinace

  • Bash:Přečte souborový řádek oddělený tabulátory do pole
  • vytvářejte seznamy argumentů obsahující mezery
  • Jak uniknout jednoduchým uvozovkám v řetězcích s jednoduchými uvozovkami?

Pamatujte, že nemůžete použít xargs od pdfunite vyžaduje vstupní pdf jako střed argumentů. Vyhnul jsem se použití readarray protože to není podporováno ve starší verzi bash, ale můžete ho použít místo IFS=.. read -ra .. pokud máte novější bash .


Linux
  1. Jak Grep v souborech Pdf?

  2. Cat soubory s adresářem?

  3. Komprimujte soubory PDF na Linuxu pomocí Densify

  1. Jak třídit soubory do složek podle typu souboru na bash (pomocí příkazu 'file')?

  2. linuxové sloučení složek:rsync?

  3. Třídit textové soubory s více řádky jako řádek

  1. Jak najít velké soubory linux pomocí příkazů find a du

  2. Najít největší soubory nebo adresáře?

  3. Přejmenovat soubory v adresáři?