2014-02-22 36 views
2

我在删除Linux脚本中的选项卡时遇到问题。我有这个在我的脚本:如何删除标签?

df -h | awk 'NR>1' | awk '{print$1}' | column -t 
df -h | awk 'NR>1' | awk '{print$5}' | column -t 

这显然给像这样的输出:

/directory1中

/directory2

/directory3目录

/directoryn

45%

32%

XX%

X%

但如果我这样说:

df -h | awk 'NR>1' | awk '{print$1,$5}' | column -t 

的输出将是这样的:

/directory1中(TAB)45%

/directory2(TAB)32%

/directory3目录(TAB)XX %

/directoryn(TAB)xx%

但我所要的输出是这样的:

/directory1中45%

/directory2 32%

/directory3目录XX%

/directoryn x%

我真的希望你们能帮助我。谢谢!

回答

1

完全摆脱你的管列,或省略-t开关

+0

工作。谢谢。我很接近。我只是让我的生活更加复杂。大声笑 – endlesslearning

+0

很高兴帮助,但请接受这是正确的答案:) – tddmonkey

+0

@endlesslearning此外,你不需要两个'AWK'管道。这应该就足够了 - 'df -h | awk'NR> 1 {print $ 1,$ 5}'' –

0

您还可以使用printfawk,如果你想找到调整的间距,例如:

df -h | awk 'NR>1' | awk '/^\// { printf("%-12s %5s\n", $1, $5) }' 

产量:

/dev/sdb7  82% 
/dev/sdb1  28% 
/dev/sdb5  75% 
/dev/sda1  79% 

(我也只能选择那些与/开始行)。