0

我正在尝试使用 awk 打印值,但它通过删除字段之间的空格来修改结果。我不知道如何维护字段之间的空间。

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

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

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

我对 wc -c 输出还有一个疑问,它总是给实际值 1+,即如果长度为 11,它给出 12。

4

1 回答 1

1

请建议如何维护空间。

使用字段分隔符:

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

我对 wc -c output 还有一个疑问,它总是给实际值加 1+

那是因为换行符。而不是echo,您可以说echo -n禁用尾随换行符。

$ echo | wc -c
1
$ echo -n | wc -c
0
于 2013-10-14T06:16:19.303 回答