You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用awk设置列位置,让数据框第二列固定从第10位开始?

解决方法

可以用awk的printf格式化输出功能,轻松实现第二列从第10个位置开始对齐的需求:

awk '{printf "%-9s%s\n", $1, $2}' input.txt

代码说明

  • %-9s:将第一列($1)左对齐显示,占用9个字符宽度,不足部分用空格填充。第一列结束后正好到第9个字符位置,第二列自然从第10位开始。
  • %s:原样输出第二列($2)。
  • \n:每行结束后换行,保证输出格式规整。

示例验证

原始输入(input.txt):

123987 9876653
123456 6519849
234567 6516515
5648 6516578
123 7896511

运行上述awk命令后,输出结果:

123987   9876653
123456   6519849
234567   6516515
5648     6516578
123      7896511

扩展说明

如果数据包含更多列,只需在printf中追加对应格式即可。比如要让第三列从第20位开始,可写成:

awk '{printf "%-9s%-10s%s\n", $1, $2, $3}' input.txt

内容的提问来源于stack exchange,提问作者Hannah Willson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:10:26