【发布时间】:2015-02-28 01:35:22
【问题描述】:
我从控制台运行了以下命令,它输出了正确的结果:0,
sudo -H -u hadoop bash -c "/home/hadoop/hadoop-install/bin/hadoop dfsadmin -report | grep 'Under replicated blocks' | awk '{print \$4}'"
但是,如果我将其放入 shell 脚本并将其分配给变量,则“awk”将不再起作用,它只会从“grep”输出整个结果:
replications=`sudo -H -u hadoop bash -c "/home/hadoop/hadoop-install/bin/hadoop dfsadmin -report | grep 'Under replicated blocks' | awk '{print \$4}'"`
echo "Replications: $replications"
结果:Replications: Under replicated blocks: 0
如何使 awk 再次工作以仅输出第 4 列,即 0 而不是整个字符串?
【问题讨论】:
标签: awk