When I run the following command in linux:

find / -iname httpd.conf

I get:


I want to use nano to edit this file, lazy to type the file path again, I used:

find / -iname httpd.conf | nano

It didn't work, nano quickly opened and exited, then I found a nano.save file in the directory that I ran this command. Using cat command on nano.save, it outputs the text: /usr/local/apache/conf/httpd.conf

This means nano thinks the previous piped output as a string that I want to write to a file, but the fact is, I would like nano to think it as the file path so that it actually opens the file for me to do the editing.

How can we make nano accept previous piped output as a file path?


Nano behaves like expected, since a pipe is used to connect on program's output to another one's input.

What you want instead is to use the output of find as an argument for nano:

nano `find / -iname httpd.conf`
| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.