Implement `-fprintf`
refer: https://www.gnu.org/software/findutils/manual/html_node/find_html/Print-File-Information.html
Action: -fprintf file format
True; like ‘-printf’ but write to file like ‘-fprint’.
The output file is always created, even if no output is ever sent to it.
-fprint see Print File Name
is print in printer.rs?
Oh, I'm sorry for overlooking this. -printf has been implemented. thanks :)
Could you point me where because from what I read they seem to have similar implementation
I would to try and improve cuz I want more rust in Debian
Could you point me where because from what I read they seem to have similar implementation
Have a look at matchers/printf.rs.
Could you point me where because from what I read they seem to have similar implementation
Sorry for the late reply.
In simple terms, -fprintf is an implementation of -printf that directs output to a file and -printf is implemented in printf.rs(https://github.com/uutils/findutils/blob/main/src/find/matchers/printf.rs).
Here is a detailed description of -fprintf: Print File Name
Some information that might be helpful:
-
The general structure of
findstarts fromsrc/find, withmain.rsas the entry point, and then tosrc/find/matcher/mod.rsto parse the command line parameters. Then other files insrc/find/matcherare responsible for processing and determining whether a file meets the requirements of the command line parameters, and finally using thewrite!macro to output. -
Use the
write!macro for output.let mut out = matcher_io.deps.get_output().borrow_mut(); write!(out, "content").unwrap();
the thing im confused about is
should i make a new file for fprintf or just have a function since most the functionaluity is the same
should i make a new file for fprintf or just have a function since most the functionaluity is the same
I guess yes, making the modification in the printf.rs file might use less code. For example, add an Option<Path> field to the Printf(https://github.com/uutils/findutils/blob/main/src/find/matchers/printf.rs#L600) structure and switch different outputs in write!() depending on whether Option has data.
What are your thoughts on this? :) @cakebaker