awk 使用分隔符进行列分割

awk 使用分隔符进行列分割

我想将第一列分成两列,以便输出看起来像

00400000    00401000

我有一个像这样的输入文件

00400000-00401000 r-xp 00000000 08:05 2762331                           
00600000-00601000 r--p 00000000 08:05 2762331                           
00601000-00602000 rw-p 00001000 08:05 2762331                            
00f70000-00f91000 rw-p 00000000 00:00 0  

我用过这个代码

awk  '{print $1,$2}' FS="-" filename

但它给出的输出

00400000 00401000 r
00600000 00601000 r
00601000 00602000 rw
00f70000 00f91000 rw
7f70f2399000 7f70f2558000 r

答案1

只需在第一个字段下执行简单替换:

awk '{ sub("-", FS, $1); print $1 }' filename

输出:

00400000 00401000
00600000 00601000
00601000 00602000
00f70000 00f91000

答案2

我通过以下命令获得了结果


 awk -F "-" '{print $1,$2}' filename  | awk '{print $1,$2}'

输出

00400000 00401000
00600000 00601000
00601000 00602000
00f70000 00f91000

相关内容