使用awk在最后一列之后的文本文件中创建新的数据列。我的最后一列主要是IP地址,但可能是一些文本行,如下所示:
192.168.50.25
192.168.111.145
Unknown
我用来创建新列的命令是:
grep '102548' file | awk -v OFS='\t' '{print $0, "2018-10-22"}'
我正在使用102548,因为我只想让awk处理包含该字符串的行。这是命令的输出:
192.168.50.25 2018-10-22
192.168.111.145 2018-10-22
Unknown 2018-10-22
172.16.15.145 2018-10-22
就左栏中的内容而言似乎没有押韵或理由,但新列布局虽然没有对齐和随机,但总是采用这种格式
2018-10-22
2018-10-22
2018-10-22
2018-10-22
2018-10-22
所以似乎“重叠”总是一样的。我怎样才能构建我的命令,以便我总能得到这种分离?
192.168.50.25 2018-10-22
192.168.111.145 2018-10-22
Unknown 2018-10-22
172.16.15.145 2018-10-22
答案 0 :(得分:1)
第一列中某些行上的文字延伸到第一个tabstop之后,而在其他行上则没有。
如果您想要以视觉上很好的方式排列内容,请尝试/libs/cq/ui/rte/core/HtmlProcessor.js
:
column -t
上面根据任何空格排列了列。如果您只希望选项卡分隔列(意味着列可以包含空格),请尝试:
$ awk '{print $0, "2018-10-22"}' file | column -t
192.168.50.25 2018-10-22
192.168.111.145 2018-10-22
Unknown 2018-10-22