带空格的文件输出格式 unix
file output formatting with spaces unix
这是原始文件的样子
cat new
Jackson, Bob D. C0001 book pizza apple 4.00 123as
Filer, Jack C0002 happy apple hat 4.00 124ab
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
我在为没有中间名的名称格式化此文件时遇到问题。
$ cat new | awk '{printf "%10s %7s %3s %6s %7s %6s %6s %4s %6s\n" , , , , , , , , }'
Jackson, Bob D. C0001 book pizza apple 4.00 123as
Filer, Jack C0002 happy apple hat 4.00 124ab
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
现在这就是我希望的格式,每一列都是 spaced 1 space 就像名字是 Jackson,Bob D. 是列 c0001 是一个列,现在名称在每个字母之间有 spaces。问题是没有中间名的人把一切都搞砸了我怎么才能把这个文件格式化成这样
Jackson, Bob D. C0001 book pizza apple 4.00 123as
Filer, Jack C0002 happy apple hat 4.00 124ab
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
所以一切都排好了,看起来很干净,如有任何问题,请告诉我,在此先感谢您的帮助!
awk
救援!
$ awk -v OFS='~' '{=" ";=""}
NF==10{=" ";=""}
NF==9{= OFS ""}1' file | column -ts~
1 Jackson, Bob D. C0001 book pizza apple 4.00 123as
2 Filer, Jack C0002 happy apple hat 4.00 124ab
3 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
您可以移动 awk
中的字段作为替代解决方案,但这也有效。
将输出字段分隔符 (OFS) 设置为一些未使用的字符(此处为波浪号)并让 column
通过该分隔符处理格式。
这是原始文件的样子
cat new
Jackson, Bob D. C0001 book pizza apple 4.00 123as
Filer, Jack C0002 happy apple hat 4.00 124ab
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
我在为没有中间名的名称格式化此文件时遇到问题。
$ cat new | awk '{printf "%10s %7s %3s %6s %7s %6s %6s %4s %6s\n" , , , , , , , , }'
Jackson, Bob D. C0001 book pizza apple 4.00 123as
Filer, Jack C0002 happy apple hat 4.00 124ab
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
现在这就是我希望的格式,每一列都是 spaced 1 space 就像名字是 Jackson,Bob D. 是列 c0001 是一个列,现在名称在每个字母之间有 spaces。问题是没有中间名的人把一切都搞砸了我怎么才能把这个文件格式化成这样
Jackson, Bob D. C0001 book pizza apple 4.00 123as
Filer, Jack C0002 happy apple hat 4.00 124ab
Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
所以一切都排好了,看起来很干净,如有任何问题,请告诉我,在此先感谢您的帮助!
awk
救援!
$ awk -v OFS='~' '{=" ";=""}
NF==10{=" ";=""}
NF==9{= OFS ""}1' file | column -ts~
1 Jackson, Bob D. C0001 book pizza apple 4.00 123as
2 Filer, Jack C0002 happy apple hat 4.00 124ab
3 Metro, Jim K. C0003 kindle pizza grape 4.00 125ac
您可以移动 awk
中的字段作为替代解决方案,但这也有效。
将输出字段分隔符 (OFS) 设置为一些未使用的字符(此处为波浪号)并让 column
通过该分隔符处理格式。