我有一个固定宽度的文件,我想为每个记录添加一个特定的字符到文件的特定位置。与文件一起使用意味着我的列没有用任何分隔符分隔。每个列都有一个特定的宽度分配给它。 假设我有以下文件:
129876 Amit h-no-344 Gurgaon
687 Rahul h-no-2798 Bangalore
5789 Soumyajith-no-33467 Hyderabad
我想在第19个位置添加两个空白字符(例如:""),这样每个记录的长度现在将增加2个。
答案 0 :(得分:4)
sed -r 's/.{18}/& /' file
答案 1 :(得分:0)
您可以使用:
$ awk 'BEGIN{FS=OFS=""} {$19=" "$19} 1' file
129876 Amit h-no-344 Gurgaon
687 Rahul h-no-2798 Bangalore
5789 Soumyajit h-no-33467 Hyderabad
通过设置BEGIN{FS=OFS=""}
,每第n个字段都是第n个字符。因此,19可以用{$19=" "$19}
代替。然后1
被评估为真,因此执行{print $0}
,打印该行。