Using xargs with pdftk The 2019 Stack Overflow Developer Survey Results Are In ...

The following signatures were invalid: EXPKEYSIG 1397BC53640DB551

How did passengers keep warm on sail ships?

Why are PDP-7-style microprogrammed instructions out of vogue?

Intergalactic human space ship encounters another ship, character gets shunted off beyond known universe, reality starts collapsing

Did the UK government pay "millions and millions of dollars" to try to snag Julian Assange?

Is every episode of "Where are my Pants?" identical?

Is this wall load bearing? Blueprints and photos attached

Why doesn't shell automatically fix "useless use of cat"?

Do I have Disadvantage attacking with an off-hand weapon?

How did the crowd guess the pentatonic scale in Bobby McFerrin's presentation?

My body leaves; my core can stay

Is an up-to-date browser secure on an out-of-date OS?

What aspect of planet Earth must be changed to prevent the industrial revolution?

Why can't wing-mounted spoilers be used to steepen approaches?

What information about me do stores get via my credit card?

Mortgage adviser recommends a longer term than necessary combined with overpayments

How do you keep chess fun when your opponent constantly beats you?

How to determine omitted units in a publication

Single author papers against my advisor's will?

Huge performance difference of the command find with and without using %M option to show permissions

Why doesn't a hydraulic lever violate conservation of energy?

Deal with toxic manager when you can't quit

Can a flute soloist sit?

Would an alien lifeform be able to achieve space travel if lacking in vision?



Using xargs with pdftk



The 2019 Stack Overflow Developer Survey Results Are In
Unicorn Meta Zoo #1: Why another podcast?
Announcing the arrival of Valued Associate #679: Cesar Manaraxargs with multiple commandsflexible number of agruments with xargsExecuting lines of a file with xargs, using stdout redirectionxargs split incoming lineUsing xargs with mv and mkdir command in LinuxIssue using xargs in LinuxUsing Xargs with hocr2pdfUsing xargs with findxargs with shell function doesn't workUsing xargs with $() - operator precedence?





.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ height:90px;width:728px;box-sizing:border-box;
}







5















I am using the following code to concatenate all the pdf files in the current directory:



find . -iname '*.pdf'|sort|xargs|xargs -I {} pdftk {} cat output union.pdf


The first invocation of xargs has the effect of converting the output of sort into a single line, with items separated by a space. But the result is this:



Error: Unable to find file.
Error: Failed to open PDF file:
./001.pdf ./002.pdf ./003.pdf ./004.pdf ./007.pdf ./010.pdf ./031.pdf ./057.pdf ./077.pdf ./103.pdf ./131.pdf ./155.pdf ./179.pdf ./205.pdf ./233.pdf ./261.pdf ./285.pdf ./313.pdf ./331.pdf ./357.pdf ./383.pdf ./411.pdf
Errors encountered. No output created.
Done. Input errors, so no output created.


Does xargs pass the argument to pdftk with surrounding quotes? How to prevent this? (Whitespaces, escaping and the way they interact with commands always drive me crazy...)










share|improve this question





























    5















    I am using the following code to concatenate all the pdf files in the current directory:



    find . -iname '*.pdf'|sort|xargs|xargs -I {} pdftk {} cat output union.pdf


    The first invocation of xargs has the effect of converting the output of sort into a single line, with items separated by a space. But the result is this:



    Error: Unable to find file.
    Error: Failed to open PDF file:
    ./001.pdf ./002.pdf ./003.pdf ./004.pdf ./007.pdf ./010.pdf ./031.pdf ./057.pdf ./077.pdf ./103.pdf ./131.pdf ./155.pdf ./179.pdf ./205.pdf ./233.pdf ./261.pdf ./285.pdf ./313.pdf ./331.pdf ./357.pdf ./383.pdf ./411.pdf
    Errors encountered. No output created.
    Done. Input errors, so no output created.


    Does xargs pass the argument to pdftk with surrounding quotes? How to prevent this? (Whitespaces, escaping and the way they interact with commands always drive me crazy...)










    share|improve this question

























      5












      5








      5


      1






      I am using the following code to concatenate all the pdf files in the current directory:



      find . -iname '*.pdf'|sort|xargs|xargs -I {} pdftk {} cat output union.pdf


      The first invocation of xargs has the effect of converting the output of sort into a single line, with items separated by a space. But the result is this:



      Error: Unable to find file.
      Error: Failed to open PDF file:
      ./001.pdf ./002.pdf ./003.pdf ./004.pdf ./007.pdf ./010.pdf ./031.pdf ./057.pdf ./077.pdf ./103.pdf ./131.pdf ./155.pdf ./179.pdf ./205.pdf ./233.pdf ./261.pdf ./285.pdf ./313.pdf ./331.pdf ./357.pdf ./383.pdf ./411.pdf
      Errors encountered. No output created.
      Done. Input errors, so no output created.


      Does xargs pass the argument to pdftk with surrounding quotes? How to prevent this? (Whitespaces, escaping and the way they interact with commands always drive me crazy...)










      share|improve this question














      I am using the following code to concatenate all the pdf files in the current directory:



      find . -iname '*.pdf'|sort|xargs|xargs -I {} pdftk {} cat output union.pdf


      The first invocation of xargs has the effect of converting the output of sort into a single line, with items separated by a space. But the result is this:



      Error: Unable to find file.
      Error: Failed to open PDF file:
      ./001.pdf ./002.pdf ./003.pdf ./004.pdf ./007.pdf ./010.pdf ./031.pdf ./057.pdf ./077.pdf ./103.pdf ./131.pdf ./155.pdf ./179.pdf ./205.pdf ./233.pdf ./261.pdf ./285.pdf ./313.pdf ./331.pdf ./357.pdf ./383.pdf ./411.pdf
      Errors encountered. No output created.
      Done. Input errors, so no output created.


      Does xargs pass the argument to pdftk with surrounding quotes? How to prevent this? (Whitespaces, escaping and the way they interact with commands always drive me crazy...)







      imagemagick xargs






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked yesterday









      MizarMizar

      907




      907






















          1 Answer
          1






          active

          oldest

          votes


















          8















          Does xargs pass the argument to pdftk with surrounding quotes?




          Yes and no, but technically no. xargs does no quoting, and pdftk does no unquoting either.



          The way programs receive command-line arguments in Linux/Unix isn't by using a single string that needs to be quoted and unquoted – that's just how the user-facing "command shell" language works, and quotes are interpreted by your shell, not by programs themselves. (This is the opposite of how Windows does it.)



          Internally programs are started using an array (/list/vector) of strings, which inherently preserves the exact text contents and separation of every element, so it doesn't really use quoting or escaping in the first place. (That is – unless you have to nest it, in which case it's back to string quoting and parsing, as you'll see below...)



          For example, your command line is parsed into this (using C-like array syntax for example, but the quotes aren't actually part of the strings):



          1. {"find", ".", "-iname", "*.pdf", NULL}
          2. {"sort", NULL}
          3. {"xargs", NULL}
          4. {"xargs", "-I", "{}", "pdftk", "{}", "cat", "output", "union.pdf", NULL}
          └─xargs uses these elements as the command─┘


          So when xargs reads a line of input (because -I sets it to line-by-line mode), it replaces the symbols {} in each individual element with the input line, without rearranging the elements in any way. Then it asks the OS to runs the result:



          {"pdftk", "./001.pdf ./002.pdf ./003.pdf …", "cat", "output", "union.pdf", NULL}




          So you'll need a different way to achieve this than xargs -I alone.





          • You could, for example, ask xargs to run a shell – which will then interpret/split/unquote the input the same way that you'd expect from a shell:



            find … | sort | xargs | xargs -I {} bash -c "pdftk {} cat output union.pdf"


            The element following -c will become pdftk ./001.pdf ./002.pdf … cat output union.pdf and bash will split it into words as expected. (But note that because xargs doesn't do quoting, this will split up filenames that happen to contain spaces, and will give weird results when filenames contain special characters.)




          • You could use the shell's "process substitution" feature:



            pdftk $(find … | sort) cat output union.pdf


            This will split the resulting text at any whitespace (just like $var variable expansion). The lines don't need to be joined first. But it will have the same issues with filenames containing spaces, and slightly fewer issues with special characters.




          • Recommended: You could avoid 'find' and 'xargs' entirely and use the interactive shell's built-in wildcard matching directly:



            pdftk *.pdf cat output union.pdf


            Ordinary * isn't recursive, but in Bash or zsh you also have ** which is the recursive mode:



            shopt -s globstar                       # enable the feature (only needed in bash)

            pdftk **/*.pdf cat output union.pdf


            (The match results will always be sorted, at least in shells using the POSIX sh language. And because the shell directly expands each filename to an individual command-line element, there will be no quoting issues at all, even with unusal filenames.)








          share|improve this answer





















          • 1





            Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

            – Mizar
            yesterday






          • 1





            There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

            – grawity
            yesterday












          Your Answer








          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "3"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1424180%2fusing-xargs-with-pdftk%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          8















          Does xargs pass the argument to pdftk with surrounding quotes?




          Yes and no, but technically no. xargs does no quoting, and pdftk does no unquoting either.



          The way programs receive command-line arguments in Linux/Unix isn't by using a single string that needs to be quoted and unquoted – that's just how the user-facing "command shell" language works, and quotes are interpreted by your shell, not by programs themselves. (This is the opposite of how Windows does it.)



          Internally programs are started using an array (/list/vector) of strings, which inherently preserves the exact text contents and separation of every element, so it doesn't really use quoting or escaping in the first place. (That is – unless you have to nest it, in which case it's back to string quoting and parsing, as you'll see below...)



          For example, your command line is parsed into this (using C-like array syntax for example, but the quotes aren't actually part of the strings):



          1. {"find", ".", "-iname", "*.pdf", NULL}
          2. {"sort", NULL}
          3. {"xargs", NULL}
          4. {"xargs", "-I", "{}", "pdftk", "{}", "cat", "output", "union.pdf", NULL}
          └─xargs uses these elements as the command─┘


          So when xargs reads a line of input (because -I sets it to line-by-line mode), it replaces the symbols {} in each individual element with the input line, without rearranging the elements in any way. Then it asks the OS to runs the result:



          {"pdftk", "./001.pdf ./002.pdf ./003.pdf …", "cat", "output", "union.pdf", NULL}




          So you'll need a different way to achieve this than xargs -I alone.





          • You could, for example, ask xargs to run a shell – which will then interpret/split/unquote the input the same way that you'd expect from a shell:



            find … | sort | xargs | xargs -I {} bash -c "pdftk {} cat output union.pdf"


            The element following -c will become pdftk ./001.pdf ./002.pdf … cat output union.pdf and bash will split it into words as expected. (But note that because xargs doesn't do quoting, this will split up filenames that happen to contain spaces, and will give weird results when filenames contain special characters.)




          • You could use the shell's "process substitution" feature:



            pdftk $(find … | sort) cat output union.pdf


            This will split the resulting text at any whitespace (just like $var variable expansion). The lines don't need to be joined first. But it will have the same issues with filenames containing spaces, and slightly fewer issues with special characters.




          • Recommended: You could avoid 'find' and 'xargs' entirely and use the interactive shell's built-in wildcard matching directly:



            pdftk *.pdf cat output union.pdf


            Ordinary * isn't recursive, but in Bash or zsh you also have ** which is the recursive mode:



            shopt -s globstar                       # enable the feature (only needed in bash)

            pdftk **/*.pdf cat output union.pdf


            (The match results will always be sorted, at least in shells using the POSIX sh language. And because the shell directly expands each filename to an individual command-line element, there will be no quoting issues at all, even with unusal filenames.)








          share|improve this answer





















          • 1





            Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

            – Mizar
            yesterday






          • 1





            There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

            – grawity
            yesterday
















          8















          Does xargs pass the argument to pdftk with surrounding quotes?




          Yes and no, but technically no. xargs does no quoting, and pdftk does no unquoting either.



          The way programs receive command-line arguments in Linux/Unix isn't by using a single string that needs to be quoted and unquoted – that's just how the user-facing "command shell" language works, and quotes are interpreted by your shell, not by programs themselves. (This is the opposite of how Windows does it.)



          Internally programs are started using an array (/list/vector) of strings, which inherently preserves the exact text contents and separation of every element, so it doesn't really use quoting or escaping in the first place. (That is – unless you have to nest it, in which case it's back to string quoting and parsing, as you'll see below...)



          For example, your command line is parsed into this (using C-like array syntax for example, but the quotes aren't actually part of the strings):



          1. {"find", ".", "-iname", "*.pdf", NULL}
          2. {"sort", NULL}
          3. {"xargs", NULL}
          4. {"xargs", "-I", "{}", "pdftk", "{}", "cat", "output", "union.pdf", NULL}
          └─xargs uses these elements as the command─┘


          So when xargs reads a line of input (because -I sets it to line-by-line mode), it replaces the symbols {} in each individual element with the input line, without rearranging the elements in any way. Then it asks the OS to runs the result:



          {"pdftk", "./001.pdf ./002.pdf ./003.pdf …", "cat", "output", "union.pdf", NULL}




          So you'll need a different way to achieve this than xargs -I alone.





          • You could, for example, ask xargs to run a shell – which will then interpret/split/unquote the input the same way that you'd expect from a shell:



            find … | sort | xargs | xargs -I {} bash -c "pdftk {} cat output union.pdf"


            The element following -c will become pdftk ./001.pdf ./002.pdf … cat output union.pdf and bash will split it into words as expected. (But note that because xargs doesn't do quoting, this will split up filenames that happen to contain spaces, and will give weird results when filenames contain special characters.)




          • You could use the shell's "process substitution" feature:



            pdftk $(find … | sort) cat output union.pdf


            This will split the resulting text at any whitespace (just like $var variable expansion). The lines don't need to be joined first. But it will have the same issues with filenames containing spaces, and slightly fewer issues with special characters.




          • Recommended: You could avoid 'find' and 'xargs' entirely and use the interactive shell's built-in wildcard matching directly:



            pdftk *.pdf cat output union.pdf


            Ordinary * isn't recursive, but in Bash or zsh you also have ** which is the recursive mode:



            shopt -s globstar                       # enable the feature (only needed in bash)

            pdftk **/*.pdf cat output union.pdf


            (The match results will always be sorted, at least in shells using the POSIX sh language. And because the shell directly expands each filename to an individual command-line element, there will be no quoting issues at all, even with unusal filenames.)








          share|improve this answer





















          • 1





            Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

            – Mizar
            yesterday






          • 1





            There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

            – grawity
            yesterday














          8












          8








          8








          Does xargs pass the argument to pdftk with surrounding quotes?




          Yes and no, but technically no. xargs does no quoting, and pdftk does no unquoting either.



          The way programs receive command-line arguments in Linux/Unix isn't by using a single string that needs to be quoted and unquoted – that's just how the user-facing "command shell" language works, and quotes are interpreted by your shell, not by programs themselves. (This is the opposite of how Windows does it.)



          Internally programs are started using an array (/list/vector) of strings, which inherently preserves the exact text contents and separation of every element, so it doesn't really use quoting or escaping in the first place. (That is – unless you have to nest it, in which case it's back to string quoting and parsing, as you'll see below...)



          For example, your command line is parsed into this (using C-like array syntax for example, but the quotes aren't actually part of the strings):



          1. {"find", ".", "-iname", "*.pdf", NULL}
          2. {"sort", NULL}
          3. {"xargs", NULL}
          4. {"xargs", "-I", "{}", "pdftk", "{}", "cat", "output", "union.pdf", NULL}
          └─xargs uses these elements as the command─┘


          So when xargs reads a line of input (because -I sets it to line-by-line mode), it replaces the symbols {} in each individual element with the input line, without rearranging the elements in any way. Then it asks the OS to runs the result:



          {"pdftk", "./001.pdf ./002.pdf ./003.pdf …", "cat", "output", "union.pdf", NULL}




          So you'll need a different way to achieve this than xargs -I alone.





          • You could, for example, ask xargs to run a shell – which will then interpret/split/unquote the input the same way that you'd expect from a shell:



            find … | sort | xargs | xargs -I {} bash -c "pdftk {} cat output union.pdf"


            The element following -c will become pdftk ./001.pdf ./002.pdf … cat output union.pdf and bash will split it into words as expected. (But note that because xargs doesn't do quoting, this will split up filenames that happen to contain spaces, and will give weird results when filenames contain special characters.)




          • You could use the shell's "process substitution" feature:



            pdftk $(find … | sort) cat output union.pdf


            This will split the resulting text at any whitespace (just like $var variable expansion). The lines don't need to be joined first. But it will have the same issues with filenames containing spaces, and slightly fewer issues with special characters.




          • Recommended: You could avoid 'find' and 'xargs' entirely and use the interactive shell's built-in wildcard matching directly:



            pdftk *.pdf cat output union.pdf


            Ordinary * isn't recursive, but in Bash or zsh you also have ** which is the recursive mode:



            shopt -s globstar                       # enable the feature (only needed in bash)

            pdftk **/*.pdf cat output union.pdf


            (The match results will always be sorted, at least in shells using the POSIX sh language. And because the shell directly expands each filename to an individual command-line element, there will be no quoting issues at all, even with unusal filenames.)








          share|improve this answer
















          Does xargs pass the argument to pdftk with surrounding quotes?




          Yes and no, but technically no. xargs does no quoting, and pdftk does no unquoting either.



          The way programs receive command-line arguments in Linux/Unix isn't by using a single string that needs to be quoted and unquoted – that's just how the user-facing "command shell" language works, and quotes are interpreted by your shell, not by programs themselves. (This is the opposite of how Windows does it.)



          Internally programs are started using an array (/list/vector) of strings, which inherently preserves the exact text contents and separation of every element, so it doesn't really use quoting or escaping in the first place. (That is – unless you have to nest it, in which case it's back to string quoting and parsing, as you'll see below...)



          For example, your command line is parsed into this (using C-like array syntax for example, but the quotes aren't actually part of the strings):



          1. {"find", ".", "-iname", "*.pdf", NULL}
          2. {"sort", NULL}
          3. {"xargs", NULL}
          4. {"xargs", "-I", "{}", "pdftk", "{}", "cat", "output", "union.pdf", NULL}
          └─xargs uses these elements as the command─┘


          So when xargs reads a line of input (because -I sets it to line-by-line mode), it replaces the symbols {} in each individual element with the input line, without rearranging the elements in any way. Then it asks the OS to runs the result:



          {"pdftk", "./001.pdf ./002.pdf ./003.pdf …", "cat", "output", "union.pdf", NULL}




          So you'll need a different way to achieve this than xargs -I alone.





          • You could, for example, ask xargs to run a shell – which will then interpret/split/unquote the input the same way that you'd expect from a shell:



            find … | sort | xargs | xargs -I {} bash -c "pdftk {} cat output union.pdf"


            The element following -c will become pdftk ./001.pdf ./002.pdf … cat output union.pdf and bash will split it into words as expected. (But note that because xargs doesn't do quoting, this will split up filenames that happen to contain spaces, and will give weird results when filenames contain special characters.)




          • You could use the shell's "process substitution" feature:



            pdftk $(find … | sort) cat output union.pdf


            This will split the resulting text at any whitespace (just like $var variable expansion). The lines don't need to be joined first. But it will have the same issues with filenames containing spaces, and slightly fewer issues with special characters.




          • Recommended: You could avoid 'find' and 'xargs' entirely and use the interactive shell's built-in wildcard matching directly:



            pdftk *.pdf cat output union.pdf


            Ordinary * isn't recursive, but in Bash or zsh you also have ** which is the recursive mode:



            shopt -s globstar                       # enable the feature (only needed in bash)

            pdftk **/*.pdf cat output union.pdf


            (The match results will always be sorted, at least in shells using the POSIX sh language. And because the shell directly expands each filename to an individual command-line element, there will be no quoting issues at all, even with unusal filenames.)









          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited yesterday

























          answered yesterday









          grawitygrawity

          244k37515574




          244k37515574








          • 1





            Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

            – Mizar
            yesterday






          • 1





            There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

            – grawity
            yesterday














          • 1





            Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

            – Mizar
            yesterday






          • 1





            There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

            – grawity
            yesterday








          1




          1





          Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

          – Mizar
          yesterday





          Aaah, wonderful insightful answer! I thought using xargs was the same as typing a command in bash, but now I understand the difference.

          – Mizar
          yesterday




          1




          1





          There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

          – grawity
          yesterday





          There are other situations which do work like that (e.g. su someuser -c "a long command" always calls a shell; and ssh somehost a long command deliberately joins and quotes all words so that the server could split them back through a shell).

          – grawity
          yesterday


















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Super User!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fsuperuser.com%2fquestions%2f1424180%2fusing-xargs-with-pdftk%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Cannot install PyQt5 The Next CEO of Stack OverflowCannot install tcpreplay 3.4.4cannot...

          Kapp-Putsch Acontecimentos | Outros artigos | Menu de navegação

          Why did early computer designers eschew integers? The Next CEO of Stack OverflowWhat register...