我知道如何在执行命令时将输出的前 5 行重定向到文件。我想知道如何仅重定向输出中的特定信息。
例如,我想执行命令“free -m”并将“used”列从输出重定向到文本文件。
如何在不手动编辑整个输出的情况下执行此操作?
答案1
我确信有更优雅的答案,但这应该有效:
free -m | awk '{if (NR == 1) {print $2} else {print $3}}' > file.out
该命令获取标准输出free -m
并将其发送到awk
。对于第一行,它打印第二列(这里是感兴趣的列的标题),否则它打印第三列(后续行free -m
有一个额外的列)。