在特定列中插入空格,在所有行中不带父系匹配(sed 或 awk)

  • 本文关键字:sed awk 插入 空格 bash sed awk
  • 更新时间 :
  • 英文 :


我有一个具有特定列宽(250 个字符)的文件,我需要在列 138 和 139 之间插入一个空格。但在这些情况下,我没有要匹配的模式或使用分隔符。

有没有办法使用 sed 和/或 awk 在此列之间插入空格而不匹配任何模式或使用任何分隔符?

你可以像这样使用 sed:

sed -i.bak -r '/^.{250}$/s/^(.{138})/1 /' file

gawk有FIELDWIDTHS,你可以使用它:

awk -v FIELDWIDTHS="138 112" '{print $1,$2}' file
sed "s/.{138}/& /"

应该是最简单的

最新更新