2013-10-14 50 views
0

我试图用awk打印值,但它通过删除字段之间的空格来修改结果。 我没有得到如何维护字段之间的空间。在awk中打​​印时删除空格

echo "First Names  City  Names  ES"|awk '{$1=$2=$NF="";print $0}'|wc -c 

上述语句打印时删除“City”和“Names”之间的空格,结果wc -c的值受到影响。

请建议如何维护空间。 我的目标是验证了“城市名称”值的长度

我对厕所-c输出多了一个疑问,它总是给1+ IE浏览器的实际值,如果长度为11这是给12

回答

1

请建议如何维护空间。

使用字段分隔符:

$ echo "First Names  City  Names  ES"|awk -F'[ ]' '{$1=$2=$NF="";print $0}' 
     City  Names  

我对厕所-c输出多了一个疑问,它总是给1+至 实际值

这是因为新队。而不是echo,你可以说echo -n,以禁用尾随换行符。

$ echo | wc -c 
1 
$ echo -n | wc -c 
0 
+0

它正在工作.. – Learner