我的输出以人类可读的数字出现,其中一个空格后跟目录名:
我目前正在使用 ...
awk '{ printf "%-20s %-40s\n", $1, $2 }'
输入
1G foo
1.5M foo baz
5K foo spaces in this directory
输出
1G foo
1.5M foo
5K foo
期望
1G foo
1.5M foo baz
5K foo spaces in this directory
如何使用 awk 或其他方法将其拆分成带有空格分隔符的两列并保留第二列中的所有空格?
答案1
尝试这个:
$ awk '{ printf "%-20s ", $1; $1=""; print $0 }' input
1G foo
1.5M foo baz
5K foo spaces in this directory
将前导列重置为空字符串是打印所有剩余字段/列的常用技巧。