批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

[问题求助] 求awk分隔符写法

有如下记录
  1. "f ield1 - fi eld2""fie ld3" "fiel d4" "field 5"
复制代码
每1个记录内有
  1. ["]、[ - ]、[""]、[" "]
复制代码
等4种分隔符(不含方括号[]),使用次序随机,现用awk进制分割,想要得到
  1. $1=f ield1
  2. $2=fi eld2
  3. $3=fie ld3
  4. $4=fiel d4
  5. $5=field 5
复制代码
以下指令(在Windows下测试)分隔符(-F"????")该如何写,才能得到想要的结果
  1. echo "f ield1 - fi eld2""fie ld3" "fiel d4" "field 5"|awk  -F"????" "{print $1,$2,$3,$4,$5}"
复制代码
感谢各位大神的教导,谢谢

回复 1# hfxiang


这个不是单纯设置列分隔符能解决的。
首先会遇到的问题就是双引号作为列分隔符之一的话,某些列是空值,跟你希望的结果不一样。
设置多个列分隔符在语法上是这样的:
echo "f ield1 - fi eld2""fie ld3" "fiel d4" "field 5" | gawk -F "[-\"]+" "{print $2; print $3; print $4; print $6; print $8}"
【批处理在线视频分享】http://bbs.bathome.net/thread-31727-1-1.html
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html

我帮忙写的代码不需要付钱,也不用找我要支付宝或微信账号。如果一定要给,请在群里给大家吧。

TOP

回复 2# Batcher


是的,谢谢。
(-F "[-\"]+") 的确不是俺想要的结果

TOP

返回列表