Unix 在awk中打印是在打印时删除空格
我试图用awk打印值,但它通过删除字段之间的空格来修改结果。 我不知道如何维护字段之间的空格Unix 在awk中打印是在打印时删除空格,unix,awk,wc,Unix,Awk,Wc,我试图用awk打印值,但它通过删除字段之间的空格来修改结果。 我不知道如何维护字段之间的空格 echo "First Names City Names ES"|awk '{$1=$2=$NF="";print $0}'|wc -c 上面的语句在打印时删除了“城市”和“名称”之间的空格,因此wc-c的值受到影响 请建议如何维护这些空间。 我的目标是验证“城市名称”值的长度 我对wc-c输出还有一个疑问,它总是给实际值加1+,也就是说,如果长度是11,它就给12 请建议
echo "First Names City Names ES"|awk '{$1=$2=$NF="";print $0}'|wc -c
上面的语句在打印时删除了“城市”和“名称”之间的空格,因此wc-c的值受到影响
请建议如何维护这些空间。
我的目标是验证“城市名称”值的长度
我对wc-c输出还有一个疑问,它总是给实际值加1+,也就是说,如果长度是11,它就给12
请建议如何维护这些空间
使用字段分隔符:
$ echo "First Names City Names ES"|awk -F'[ ]' '{$1=$2=$NF="";print $0}'
City Names
我还有一个关于wc-c输出的疑问,它总是给1+到
实际价值
那是因为新线。您可以说echo-n
,而不是echo
,以便禁用尾随换行符
$ echo | wc -c
1
$ echo -n | wc -c
0