i'm trying use variable $y in snippet below keep running filename showing $y.pdf
ls -v *.jpg | tr '\n' ' ' | sed 's/$/\ $y.pdf/' | xargs convert
i've tried below:
ls -v *.jpg | tr '\n' ' ' | sed 's/$/\'"$y.pdf"'/' | xargs convert ls -v *.jpg | tr '\n' ' ' | sed 's/$/\ {$y}.pdf/' | xargs convert
the top 1 fails, sed expecting else. bottom 1 makes filename {$y}.pdf.
any ideas me?
thanks!
never mind quoting problem; wrong approach entirely. use for
loop avoid kinds of potential problems.
for f in *.jpg; convert "$f" "${f%.jpg}.pdf" done
${f%.jpg}
expands name of current file minus .jpg
extension.
to merge files 1 pdf simpler (i think):
convert *.jpg "$y.pdf"
assuming ls -v
outputs file names in correct order, , there aren't of usual concerns parsing ls
involved, use
ls -v *.jpg > input.txt convert @input.txt "$y.pdf"
(there might way avoid use of tempfile, maybe simple ls -v *.jpg | convert @- "$y.pdf"
, i'm lazy figure out ways convert
can called.)
Comments
Post a Comment