2012-11-23 22 views
1

我使用幾個命令來解析來自free -m的值,現在需要將所有文件輸出到一個文件中。它看起來像這樣:更多命令到一個輸出文件?

free -m | grep 'Mem' | awk '{print $3'} && free -m | grep 'Mem' | awk '{print $6'} && free -m | grep 'Mem' | awk '{print $7'} && free -m | grep 'cache:' | awk '{print $3'} 

如果我添加在結束> /一些/文件,它只寫最後一個值,如何寫這個命令的所有輸出到一個文件? 感謝您的幫助

+2

您可以使用awk的幾個表情: 例如$ free -m | grep'Mem'| awk'{print $ 3} {print $ 6}' 甚至$ free -m | grep'Mem'| awk'{print $ 3'\ n「$ 6}' – Necto

回答

4

添加括號打開一個子殼:

(free -m | grep 'Mem' | awk '{print $3'} && free -m | grep 'Mem' | awk '{print $6'} && free -m | grep 'Mem' | awk '{print $7'} && free -m | grep 'cache:' | awk '{print $3'}) > result.txt 
+1

不需要子外殼。 '{free -m ... | awk'{print $ 3'}; }> result.txt'工作得很好。 (當然,沒有什麼顯着區別:只是指出了一個替代方案。) –

+0

謝謝 - 不知道那樣:)但是,一個細微的區別是,subshel​​l方法也適用於tcsh,而我得到一個'{:Command沒有找到。「你的方法。我個人更喜歡bash,但是從OP使用哪個shell的問題來看並不清楚...... –

相關問題