【发布时间】:2017-04-08 23:32:47
【问题描述】:
我的驱动器中有 45 个目录,命名格式为 Sub1,Sub2..Sub45,每个目录包含 300 多个文本文件,每个目录中的所有文本文件都具有相同的命名格式
regional_vol_GM1.txt
regional_vol_GM2.txt
regional_vol_GM*.txt
我想将每个目录中的目录和文本文件按顺序排序,并将每个文件中的数据导出为csv文件,
以下是我写的脚本
eval "dirs=($(ls -v --quoting-style=shell-always))"
for dir in "${dirs[@]}"; do
eval "files=($(
ls -vd --quoting-style=shell-always -- "$dir"/t1/regional_vol*.txt))"
tail -q -n 1 -- "${files[@]}" | paste -sd , -
done > data.csv
现在我想用文本文件的文件名作为行值和目录名作为列来改造我的输出 csv 文件,因为每个目录都有 300 个具有相同命名格式的文本文件,我只需要一个文件名为的单行标题和目录名称作为 csv 文件中的列
【问题讨论】:
标签: bash csv export-to-csv