Bash脚本 - 处理CSV文件

时间:2017-06-30 08:09:44

标签: shell csv sed

对于DateOfBirth,我在3rd中有CSV字段:02041996

我想将其格式更改为02/04/1996。有没有办法在特定位数后添加/

3 个答案:

答案 0 :(得分:0)

以下内容将使用split的{​​{1}}函数拆分第3个,并且每个字段均由awk分隔。稍后在print语句中,使用""调用每个字段。

a[N]

答案 1 :(得分:0)

使用 awk ' NSString *imageURL = [arrayGallery valueForKey:@"link"][0]; if (imageURL.length > 0) { [_Image1 sd_setBackgroundImageWithURL:[NSURL URLWithString:imageURL] forState:UIControlStateNormal placeholderImage:[UIImage imageNamed:@"blurred-background"] completed:^(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL) { dispatch_async(dispatch_get_main_queue(), ^{ [_ImageLoader1 stopAnimating]; [_ImageLoader1 removeFromSuperview]; [_Image1 setBackgroundImage:image forState:UIControlStateNormal]; }); }]; } 功能:

substr

答案 2 :(得分:0)

另一个awk解决方案:

awk -F, '{$3 = gensub(/([^ ]{2})([^ ]{2})(.*)/, "\\1/\\2/\\3", "g", $3)}1' OFS=','

样品:

AMD$ echo " col1 ,   col2,    02041996, col4 " | awk -F, '{$3 = gensub(/([^ ]{2})([^ ]{2})(.*)/, "\\1/\\2/\\3", "g", $3)}1' OFS=','
 col1 ,   col2,    02/04/1996, col4