按 ID(第一列)拆分内容并根据格式生成新的数据文件 [英] splitting content by ID (1st column) and generate new data file based on format

查看:52
本文介绍了按 ID(第一列)拆分内容并根据格式生成新的数据文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想如何使用如下日期格式将内容拆分为多个文件:

How i want to split content to multiple files using date format as following below:

Test_<ID name><ddmmyyyy>.CSV

如何按照格式拆分?

在此之前我使用:

awk -F"," 'NR>1 {print > "Test_<ID name><ddmmyyyy>.CSV_"$1".csv"}' Original.CSV

编辑

我带着

awk -v DATE="$(date +"%d%m%Y")" -F"," 'BEGIN{OFS=","}NR>1 { gsub(/"/,"",$1); print > "Assignment_"$1"_"DATE".csv"}' Test_01012020.CSV 

但是我也想包括我的列名.怎么样?

but then I want to include my column name too. How?

推荐答案

您可以尝试使用 shell 中的变量:

_DATE=` date '+%d%m%Y' `
_ID=my_value
F_EXT=${_ID}${_DATE}
# here "var" is set to the value defined from the shell "F_EXT"
awk -v var=${F_EXT} -F"," 'NR>1 {print > "Test_" var ".CSV_"$1".csv"}' Original.CSV

(我没弄明白你的ID 名称"在哪里,所以这里是 my_value)

(I didn't get where you were taking your "ID name", so here it's my_value)

如果你想包含你的列名,那么在NR==1的情况下阅读它:

If you want to include your column name, then read it with the case when NR==1:

awk -v DATE="$(date +"%d%m%Y")" -F"," 'BEGIN{OFS="," } NR==1 {COLUMN_NAME=$1} NR>1 { gsub(/"/,"",$1); print > "Assignment_"$1"_"COLUMN_NAME"_"DATE".csv"}' a.txt

这篇关于按 ID(第一列)拆分内容并根据格式生成新的数据文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆