awk -F"[01]" '{}' 这种形式指定的分隔符是或的关系,即0或1作为分隔符;
awk -F"[0][1]" '{}' 这种形式指定的分隔符是合并的关系,即以“01”作为一个字符为分隔符。
故假如有test.txt文本文件只有一行:
1. mail from: tomcat@gmail.com 2. subject:hello 3. data:2012-07-12 17:00 4. content:Hello, The world. 5. 6. mail from: jerry@gmail.com 7. subject:congregation 8. data:2012-07-12 08:31 9. content:Congregation to you. 10. 11. mail from: jacob@gmail.com 12. subject:Test 13. data:2012-07-12 10:20 14. content:This is a test mail.
用命令:awk 'BEGIN {FS="[0-9]+[.]";OFS="\n"}{for(i=1;i<=NF;i++) printf("%d %s\n",i,$i)}' test.txt即可输出如下格式的形式的文件:
1
2 mail from: tomcat@gmail.com 3 subject:hello 4 data:2012-07-12 17:00 5 content:Hello, The world. 6 7 mail from: jerry@gmail.com 8 subject:congregation 9 data:2012-07-12 08:31 10 content:Congregation to you. 11 12 mail from: jacob@gmail.com 13 subject:Test 14 data:2012-07-12 10:20 15 content:This is a test mail.