我正在尝试使用awk打印值,但它通过删除字段之间的空格来修改结果。 我没有得到如何维护字段之间的空间。
echo "First Names City Names ES"|awk '{$1=$2=$NF="";print $0}'|wc -c
上述声明在打印时删除了“City”和“Names”之间的空格,因此wc -c的值受到影响。
请建议如何保养空间。 我的目标是验证“城市名称”值的长度
我对wc -c输出还有一个疑问,它总是给实际值1+,即如果长度为11则给出12。
答案 0 :(得分:1)
请建议如何维护空间。
使用字段分隔符:
$ echo "First Names City Names ES"|awk -F'[ ]' '{$1=$2=$NF="";print $0}'
City Names
我对wc -c输出还有一个疑问,它总是给出1+ 实际值
那是因为新行。您可以说echo
而不是echo -n
,以便禁用尾随换行符。
$ echo | wc -c
1
$ echo -n | wc -c
0