我设法解决了如何将文件名作为附加列添加到文件中的问题,但是无法解决如何去除文件名中不必要的部分并将所需的部分放入其他列中的问题。
示例文件名
20191001_export_format_client_platform.csv
20191002_export_format_client_platform.csv
20190928_export_format_client_platform.csv
export_format
部分在所有文件上均完全相同。唯一更改的是名称,客户名称及其平台名称开头的日期
输入csv数据
visitor_date,browser,id1,id2,id3
30/09/2019 00:00,69246,216370,411751188
30/09/2019 00:00,69247,411751188
30/09/2019 00:14,411511576
30/09/2019 00:14,411751576
30/09/2019 00:14,411751170
30/09/2019 00:14,411751152
我尝试的脚本
awk '{ print $0 FILENAME }' *.csv > *.csv
我的尝试输出
visitor_date,id3,20191001_export_format_client_platform.csv
30/09/2019 00:00,411751188,20191001_export_format_client_platform.csv
30/09/2019 00:14,411511576,411751576,411751170,411751152,20191001_export_format_client_platform.csv
所需的输出
visitor_date,client,platform
30/09/2019 00:00,692467,2163703,4117511887,platform
30/09/2019 00:14,4117511576,4117511780,2163704,4117511528,platform
所以从文件名中,我应该只使用文件名的粗体部分:20191001_export_format_ 客户端 _ 平台 .csv,然后应成为2个新列
在awk
内是否有一种整齐的方法来执行此操作,还是需要使用其他命令来获得结果?感谢任何反馈。