Skip to content

Comment on Linux Commands for Developers

Comments

how do I execute the out put of something like this:

grep -i 'pattern' file | awk '{print $5}' | sed 's/^/cmd/g'

I end up sending to a file, chmod, then run it at the shell.

In bash...

    $(grep -i 'pattern' file | awk '{print $5}' | sed 's/^/cmd/g')
?

Or surround in backticks

    `command which outputs text you want to run as a command`
I prefer $() as they nest better.

Or have I misunderstood your question?

That's it $() works. thanks.

Wrap it in $() to execute. And even if you pipe it into a file, no chmod is required. "sh file" works as it should

or use eval

~$ help eval eval: eval [arg ...] Execute arguments as a shell command.

    Combine ARGs into a single string, use the result as input to the shell,
    and execute the resulting commands.
   Exit Status:
    Returns exit status of command or success if command is null.

xargs instead of that sed (I assume you're prepending your command to run there).

grep -i 'pattern' file | awk '{print $5}' | xargs cmd

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.