linux shell 脚本 wak语句中 awk 'BEGIN { FS="'"'"'";RS="\n"} {for (i=2;i<=NF;i=i+2)

这句话begin中FS="'"'"'";RS="\n"表达什么意思,哪位高手知道吗?... 这句话begin中 FS="'"'"'";RS="\n" 表达什么意思,哪位高手知道吗? 展开
 我来答
沧海中一笑
2013-01-15 · 超过20用户采纳过TA的回答
知道答主
回答量:57
采纳率:100%
帮助的人:50.9万
展开全部
其实FS="'"'"'";的意思是以 ' (单冒号)作为分隔符(粘贴到这上面看着不是太清楚,你自己弄下)
linux-hg2:~ # echo '_"'"'"'"_'
_"'"_ (两个双冒号,中间一个单冒号)
linux-hg2:~ # cat test.txt
ab'c'b
linux-hg2:~ # awk 'BEGIN { FS="'"'"'";RS="\n"}{print $1,$2}' test.txt
ab c
linux-hg2:~ #

效果等同于FS="'\''" 双冒号、单冒号、斜杠、单冒号、单冒号、双冒号
txqhaohaohao
2013-01-15 · 超过10用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:34.1万
展开全部
RS/ORS:行输入/输出分隔符,默认回车
FS/OFS:字段的输入/输出分隔符,默认为空格和制表符Tab
上面的意思表示为:以“'”作为字段分隔符,以换行作为行分隔符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Winshining
推荐于2018-03-21 · TA获得超过460个赞
知道小有建树答主
回答量:202
采纳率:0%
帮助的人:206万
展开全部
FS表示操作的时候以什么为分割符
RS表示记录分割符(Record Separator)
即RS表示的是awk操作最小单位的边界,而FS是这个最小单位中分割的符号
例如:
101,John Doe:102,Jason Smith:103,Raj Reddy
如果不指定RS,指定FS为“,”,那么awk将101作为第一列,剩下的全部为第二列,如果指定RS=":",那么awk就会将内容作为三“行”,第一列包括101,102和103,第二列包括John Doe,Jason Smith和Raj Reddy
追问
恩 谢谢。不过知道FS="'"'"'";  这个例子的具体含义吗,是什么样的分隔符
追答
这个分割符号就是'(单引号),但是'和"对awk来说都是关键符号,所以要作特殊处理,但我不知道为什么为这么处理~
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式