我有一个包含以下内容的示例文件。当使用不同的FS语法时awk中的不同结果
logging.20160309.113.txt.log: 0 Rows successfully loaded.
logging.20160309.1180.txt.log: 0 Rows successfully loaded.
logging.20160309.1199.txt.log: 0 Rows successfully loaded.
我目前熟悉在awk中实现Field Separator语法的两种方法。但是,我目前得到不同的结果。
对于我用
“FS =”语法时,我的FS是多于一个字符的时间最长。
“-f”标志当我的FS只是一个字符。
我想了解为什么FS =语法给了我一个意想不到的结果,如下所示。不知何故,第一张唱片被留下。
$ head -3 reload_list | awk -F"\.log\:" '{ print $1 }'
awk: warning: escape sequence `\.' treated as plain `.'
awk: warning: escape sequence `\:' treated as plain `:'
logging.20160309.113.txt
logging.20160309.1180.txt
logging.20160309.1199.txt
$ head -3 reload_list | awk '{ FS="\.log\:" } { print $1 }'
awk: warning: escape sequence `\.' treated as plain `.'
awk: warning: escape sequence `\:' treated as plain `:'
logging.20160309.113.txt.log:
logging.20160309.1180.txt
logging.20160309.1199.txt
接受此为提供手动引用的最佳答案。 – Ricsonc