暂无图片
awk增大某列宽度
我来答
分享
Thomas
2023-09-27
awk增大某列宽度

如题。

具体命令是

df -h | awk '{if (($1 != "tmpfs")&&($1 != "devtmpfs")) print $0}'| awk ' {$7 = "aaa";OFS="\t";print $0}'

命令里人为加了一列$7, 再将输出字段的delimeter改为TAB。如下图可知,因为第二行第一列/dev/mapper/rhel-root太长,挤占了后序列的位置,导致后续列都没有对齐(每行的aaa应该都对齐才对)。能否将$1列的宽度设大,比如设置为30,这样随后的列都可以和标题列对齐了。




我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
披头
df -h | awk '{if (($1 != "tmpfs")&&($1 != "devtmpfs")) printf "%-30s%-10s%-10s%-10s%-10s%-30s'aaa'\n",$1,$2,$3,$4,$5,$6}'
复制

试试上边的代码,将分隔符修改为 \t 会破坏对齐,要么换分隔符,要么用上边这个

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
大大刺猬

试下 df -Ph

暂无图片 评论
暂无图片 有用 0
打赏 0
Thomas

-P 是POSIX模式么。试了,没有用

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏