为什么在以下示例中获取分隔符之前和之后的空格?
awk -F'^' '{print $1,":",$2}' SERVER_2012-02-29-12-15-00
3969 : 1272
3969 : 1272
3969 : 1272
Run Code Online (Sandbox Code Playgroud)
我希望结果如下,没有任何空格:
3969:1272
3969:1272
3969:1272
Run Code Online (Sandbox Code Playgroud)
文本文件看起来像这样......
cat SERVER_2012-02-29-12-15-00
3969^1272^14.140.90.242^^IN^como^2012-02-29
3969^1272^14.140.90.242^^IN^como^2012-02-29
3969^1272^14.140.90.242^^IN^como^2012-02-29
Run Code Online (Sandbox Code Playgroud)
pot*_*ong 12
这可能对你有用:
awk -F'^' '{print $1":"$2}' SERVER_2012-02-29-12-15-00
3969:1272
3969:1272
3969:1272
Run Code Online (Sandbox Code Playgroud)
要:删除字段来连接字段,.
或者将输出字段分隔符更改OFS为null.
awk -F'^' -vOFS='' '{print $1",:,"$2}' SERVER_2012-02-29-12-15-00
3969:1272
3969:1272
3969:1272
Run Code Online (Sandbox Code Playgroud)
解决方案已经给出,但没有完整的解释......
这是因为当您使用print许多参数(以逗号分隔)时,它会在值之间放置一个字段分隔符.来自awk男人:
print expr-list
打印表达式.每个表达式由OFS变量的值分隔.输出记录以ORS变量的值终止.
在字符串连接运算符awk是不是昏迷,没有+,但空间:str = str1 str2串联str1和str2.