What's a simple method to dump pipe input to a file? (Linux)

纵然是瞬间 提交于 2019-12-22 05:24:31

问题


I'm looking for a little shell script that will take anything piped into it, and dump it to a file.. for email debugging purposes. Any ideas?


回答1:


The unix command tee does this.

man tee



回答2:


cat > FILENAME



回答3:


You're not alone in needing something similar... in fact, someone wanted that functionality decades ago and developed tee :-)

Of course, you can redirect stdout directly to a file in any shell using the > character:

echo "hello, world!" > the-file.txt



回答4:


The standard unix tool tee can do this. It copies input to output, while also logging it to a file.




回答5:


Use Procmail. Procmail is your friend. Procmail is made for this sort of thing.




回答6:


If you want to analyze it in the script:

while /bin/true; do
    read LINE
    echo $LINE > $OUTPUT
done

But you can simply use cat. If cat gets something on the stdin, it will echo it to the stdout, so you'll have to pipe it to cat >$OUTPUT. These will do the same. The second works for binary data also.




回答7:


If you want a shell script, try this:

#!/bin/sh
exec cat >/path/to/file



回答8:


If exim or sendmail is what's writing into the pipe, then procmail is a good answer because it'll give you file locking/serialization and you can put it all in the same file.

If you just want to write into a file, then - tee > /tmp/log.$$ or - cat > /tmp/log.$$ might be good enough.




回答9:


Use <<command>> | tee <<file>> for piping a command <<command>> into a file <<file>>.

This will also show the output.




回答10:


Huh? I guess, I don't get the question?

Can't you just end your pipe into a >> ~file

For example

echo "Foobar" >> /home/mo/dumpfile

will append Foobar to the dumpfile (and create dumpfile if necessary). No need for a shell script... Is that what you were looking for?




回答11:


if you don't care about outputting the result

cat - > filename

or

cat > filename


来源:https://stackoverflow.com/questions/76700/whats-a-simple-method-to-dump-pipe-input-to-a-file-linux

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!