【发布时间】:2021-05-13 05:06:35
【问题描述】:
我正在处理包含一行中存在的多列信息的一组 txt 文件。在我的 bash 脚本中,我使用以下 AWK 表达式从每个 txt 填充中获取文件名以及第 5 列中的数字,并将其以 2 列格式保存在 results.CSV 文件中(通过管道传输到 SED,删除路径最终 CSV 文件中的文件及其扩展名):
awk '-F, *' '{if(FNR==2) printf("%s| %s \n", FILENAME,$5) }' ${tmp}/*.txt | sed 's|\/Users/gleb/Desktop/scripts/clusterizator/tmp/||; s|\.txt||' >> ${home}/"${experiment}".csv
以 CSV 格式获取类似内容(用于 5 个 txt 填充):
lig177_cl_5.2| -0.1400
lig331_cl_3.5| -8.0000
lig394_cl_1.9| -4.3600
lig420_cl_3.8| -5.5200
lig550_cl_2.0| -4.3200
如何修改我的 AWK 表达式以从每个 txt 文件的名称中排除“_cl_x.x”,并将 CSV 的名称作为注释添加到生成的 CSV 文件的第一行:
# results.CSV
lig177| -0.1400
lig331| -8.0000
lig394| -4.3600
lig420| -5.5200
lig550| -4.3200
【问题讨论】: