Linux 将更多命令添加到一个输出文件?
我使用了一些命令来解析free-m中的值,现在需要在一个文件中输出所有值。看起来是这样的:Linux 将更多命令添加到一个输出文件?,linux,shell,command-line-interface,Linux,Shell,Command Line Interface,我使用了一些命令来解析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'} 如果我在末尾添
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'}
如果我在末尾添加>/some/file,它只写最后一个值,如何将所有这些命令的输出写入一个文件?
感谢您的帮助添加括号以打开子shell:
( 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
添加括号以打开子外壳:
( 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
你可以为awk使用几个表达式:例如$free-m | grep'Mem'| awk'{print$3}{print$6}'或者甚至$free-m | grep'Mem'| awk'{print$3'\n“$6}你可以为awk使用几个表达式:例如$free-m | grep'Mem'| awk'{print$3}{print$6}'或者甚至$free-m | grep'Mem print$6}awk'{6}
{free-m…| awk'{print$3'};}>result.txt
工作正常。(当然,没有明显的区别:只是指出一个替代方案。)谢谢-我还不知道:)一个细微的区别是,subshell方法也适用于tcsh,而我得到了一个{:找不到命令。
使用您的方法。我个人更喜欢bash,但从OP使用哪个shell的问题来看还不清楚……不需要子shell。{free-m…| awk'{print$3'};}>result.txt
工作得很好。(当然,没有明显的区别:只是指出一个替代方案。)谢谢-我还不知道:)一个微妙的区别是,subshell方法也适用于tcsh,而我得到了一个{:Command not found.
与您的方法。我个人更喜欢bash,但从OP使用的shell的问题来看还不清楚。。。