Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
755 views
in Technique[技术] by (71.8m points)

bash - Run a remote awk command using ssh

I try to run a remote awk statement using ssh. My code is:

ssh username@hostIP "awk 'NR==1  {max=0;min=1} NR>1 {if (max<$3) max=$3}END {print max}' FS="," /path_to_my_file"

When I run this command, I receive no error message, but command is not working and doesn't produce an output but just hanging so I would need to cancel it by ctrl+c.

Is there something I am missing?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Try this using a here-doc :

ssh -t username@hostIP <<'EOF'
awk '
    NR==1 {max=0;min=1}
    NR>1 {if (max<$3) max=3}
    END {print max}
' FS="," /path_to_my_file
EOF

The single quotes around EOF prevent shell expansion.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

2.1m questions

2.1m answers

60 comments

57.0k users

...