Can't redirect awk output to a file… tried everything
What is the most suitable position for a bishop here?
Why is oilcloth made with linseed oil?
Is there a way to build an app that can be used by people that don't have Salesforce?
Improve appearance of the table in Latex
What are the current battlegrounds for people’s “rights” in the UK?
What does it cost to buy a tavern?
Explicit song lyrics checker
"Correct me if I'm wrong"
What is the meaning of "понаехать"?
What is the "ls" directory in my home directory?
Very tricky nonogram - where to go next?
I found a password with hashcat, but it doesn't work
How do internally carried IR missiles acquire a lock?
Dates on degrees don’t make sense – will people care?
In the US, can a former president run again?
Methodology: Writing unit tests for another developer
Mathematically modelling RC circuit with a linear input
Is "Busen" just the area between the breasts?
What is "industrial ethernet"?
Draw a symmetric alien head
Is the continuity test limit resistance of a multimeter standard?
Subtract the Folded Matrix
Why don't we have a weaning party like Avraham did?
Why isn't it a compile-time error to return a nullptr as a std::string?
Can't redirect awk output to a file… tried everything
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;
I created a nice little command to measure data bandwidth consumption over a metered connection (excluding local traffic):
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5 ;'
If you give it some time you will see it will start printing lines with data in bytes (stdout I guess)..
I have tried many things trying to write these lines to a file including several variations of 1>, >, >>, tee and more.. Nothing seems to work, on redirecting output from awk.
awk stdout
add a comment |
I created a nice little command to measure data bandwidth consumption over a metered connection (excluding local traffic):
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5 ;'
If you give it some time you will see it will start printing lines with data in bytes (stdout I guess)..
I have tried many things trying to write these lines to a file including several variations of 1>, >, >>, tee and more.. Nothing seems to work, on redirecting output from awk.
awk stdout
Give output of your command.
– asktyagi
Jun 3 at 15:06
add a comment |
I created a nice little command to measure data bandwidth consumption over a metered connection (excluding local traffic):
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5 ;'
If you give it some time you will see it will start printing lines with data in bytes (stdout I guess)..
I have tried many things trying to write these lines to a file including several variations of 1>, >, >>, tee and more.. Nothing seems to work, on redirecting output from awk.
awk stdout
I created a nice little command to measure data bandwidth consumption over a metered connection (excluding local traffic):
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5 ;'
If you give it some time you will see it will start printing lines with data in bytes (stdout I guess)..
I have tried many things trying to write these lines to a file including several variations of 1>, >, >>, tee and more.. Nothing seems to work, on redirecting output from awk.
awk stdout
awk stdout
asked Jun 3 at 13:45
Achis KAchis K
1
1
Give output of your command.
– asktyagi
Jun 3 at 15:06
add a comment |
Give output of your command.
– asktyagi
Jun 3 at 15:06
Give output of your command.
– asktyagi
Jun 3 at 15:06
Give output of your command.
– asktyagi
Jun 3 at 15:06
add a comment |
2 Answers
2
active
oldest
votes
Mixing redirections with sudo can be confusing. I'd run the pipeline in a new shell, and the redirection can go there:
sudo sh <<'END_IFTOP'
filter="not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))"
iftop -i enp1s0 -f "$filter" -t -L1 2> /dev/null |
awk '$1 == "Cumulative" print $5' > $HOME/output.file
END_IFTOP
add a comment |
Your problem is that if awk detects that its output is not a terminal, it switches to buffered output; you just have to wait longer for any output to appear.
If you don't want to wait, use:
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5; fflush(); '
(The fflush()
will cause all lines to be printed immediately, which is less efficient but allows you to see it immediately.)
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "2"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f969941%2fcant-redirect-awk-output-to-a-file-tried-everything%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
Mixing redirections with sudo can be confusing. I'd run the pipeline in a new shell, and the redirection can go there:
sudo sh <<'END_IFTOP'
filter="not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))"
iftop -i enp1s0 -f "$filter" -t -L1 2> /dev/null |
awk '$1 == "Cumulative" print $5' > $HOME/output.file
END_IFTOP
add a comment |
Mixing redirections with sudo can be confusing. I'd run the pipeline in a new shell, and the redirection can go there:
sudo sh <<'END_IFTOP'
filter="not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))"
iftop -i enp1s0 -f "$filter" -t -L1 2> /dev/null |
awk '$1 == "Cumulative" print $5' > $HOME/output.file
END_IFTOP
add a comment |
Mixing redirections with sudo can be confusing. I'd run the pipeline in a new shell, and the redirection can go there:
sudo sh <<'END_IFTOP'
filter="not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))"
iftop -i enp1s0 -f "$filter" -t -L1 2> /dev/null |
awk '$1 == "Cumulative" print $5' > $HOME/output.file
END_IFTOP
Mixing redirections with sudo can be confusing. I'd run the pipeline in a new shell, and the redirection can go there:
sudo sh <<'END_IFTOP'
filter="not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))"
iftop -i enp1s0 -f "$filter" -t -L1 2> /dev/null |
awk '$1 == "Cumulative" print $5' > $HOME/output.file
END_IFTOP
answered Jun 3 at 14:32
glenn jackmanglenn jackman
3,4651216
3,4651216
add a comment |
add a comment |
Your problem is that if awk detects that its output is not a terminal, it switches to buffered output; you just have to wait longer for any output to appear.
If you don't want to wait, use:
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5; fflush(); '
(The fflush()
will cause all lines to be printed immediately, which is less efficient but allows you to see it immediately.)
add a comment |
Your problem is that if awk detects that its output is not a terminal, it switches to buffered output; you just have to wait longer for any output to appear.
If you don't want to wait, use:
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5; fflush(); '
(The fflush()
will cause all lines to be printed immediately, which is less efficient but allows you to see it immediately.)
add a comment |
Your problem is that if awk detects that its output is not a terminal, it switches to buffered output; you just have to wait longer for any output to appear.
If you don't want to wait, use:
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5; fflush(); '
(The fflush()
will cause all lines to be printed immediately, which is less efficient but allows you to see it immediately.)
Your problem is that if awk detects that its output is not a terminal, it switches to buffered output; you just have to wait longer for any output to appear.
If you don't want to wait, use:
sudo iftop -i enp1s0 -f 'not (src net (10 or 172.16/12 or 192.168/16) and dst net (10 or 172.16/12 or 192.168/16))' -t -L1 2> /dev/null | awk '$1 == "Cumulative" print $5; fflush(); '
(The fflush()
will cause all lines to be printed immediately, which is less efficient but allows you to see it immediately.)
answered Jun 3 at 20:08
András KornAndrás Korn
41128
41128
add a comment |
add a comment |
Thanks for contributing an answer to Server Fault!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fserverfault.com%2fquestions%2f969941%2fcant-redirect-awk-output-to-a-file-tried-everything%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Give output of your command.
– asktyagi
Jun 3 at 15:06