Board logo

标题: [问题求助] 关于awk中RS,FS的一个疑问,求大神帮忙解释一下,感谢! [打印本页]

作者: fu7100    时间: 2018-7-13 10:27     标题: 关于awk中RS,FS的一个疑问,求大神帮忙解释一下,感谢!

文件test如下
1111111
2222222
3333333#
4444444
5555555


执行命令 awk 'BEGIN{RS="#";ORS="\n";FS=" "}{print $1}' test.txt
1111111
5555555
执行命令awk 'BEGIN{RS="#";ORS="\n";FS="\n"}{print $1}' test.txt
1111111
空行

帮忙看下仅仅把FS替换为\n为分隔符结果就不一样, 为啥会显示一个空行谁能解释得清楚?
作者: codegay    时间: 2018-7-13 12:22



日常建议换别的语言。
作者: fu7100    时间: 2018-7-13 17:17

回复 2# codegay


    为啥要换,挺好用的只是遇到些问题弄清楚就可以了呀
作者: CrLf    时间: 2018-7-13 20:27

我比较好奇的是为什么第一条的结果是 1111...5555,而不是 1111...4444
作者: CrLf    时间: 2018-7-13 20:29

至于为什么会出现空行,那是因为按 # 分割行后,444... 前面确实有一个 \n 啊
作者: cfwyy77_bat    时间: 2018-7-13 23:44

本帖最后由 cfwyy77_bat 于 2018-7-15 11:49 编辑

用#作记录分隔符,\n作字段分隔符,第二条记录的第一个字段$1应该是“”  空。
作者: fu7100    时间: 2018-7-16 17:04

回复 4# CrLf


    不好意思我贴错了,确实是你说的那样




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2