为什么我会得到那些奇怪的空格?
echo "hello world" | awk 'BEGIN{FS=""} {$1=toupper($1); printf "%s\n", $0}'
我用更简单的方法得到了相同的结果。
echo "hello world" | awk 'BEGIN{FS=""} {$1=toupper($1); print}'
输出:
H e l l o w o r l d
最佳答案
将字段分隔符设置为空字符串具有特殊意义:它将每个单个字符读入一个单独的字段。由于输出字段分隔符 OFS
未更改(空白),您的分配重新排列完整记录并在每个字段之间插入 OFS
。
第一个字段/字符大写。
你的第一个和第二个方法是等价的,因为 print
默认为 print $0
,而 printf "%s\n", $0
是等价的打印 $0
。
关于linux - 奇怪的 awk 输出包含空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50497678/