I have a C program that reads command line arguments from argv. Is it possible to make a pipe to redirect the contents of a file as command line arguments to my program? Suppose I have a file arguments.dat
with this content:
0 0.2 302 0
And I want my program to be called with:
./myprogram 0 0.2 302 0
I tried the following:
cat arguments.dat | ./myprogram
without success.
For example, entering C:\abc.exe /W /F on a command line would run a program called abc.exe and pass two command line arguments to it: /W and /F.
xargs
is your answer:
cat arguments.dat | xargs ./myprogram
Or easier:
xargs -a arguments.dat ./myprogram
Check the manual for the many ways to customize xargs
. For example, you can read line-by-line rather than by word, and you can use the arguments in more complex replacements.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With