连接文件(如列)

连接文件(如列)

我有这个命令:

for file in file??.txt; do awk -f vypis_z_dcout.awk "$file" > "$file".csv; done

结果是每个文件中的一列数字,我想像其列一样连接一个文件中所有文件的结果。如何添加到这个命令中?

paste <(cat f.csv) <(cat f1.csv) <(cat f2.csv) <(cat f3.csv) <(cat f4.csv) .... insert "$file".csv ... > out.csv

或者如何获取第一列中为 file01.csv、第二列中为 file02.csv 等的文件?谢谢

答案1

如果我明白你在说什么,你会从一组文件开始,其名称如下:

file01.txt
file02.txt
file03.txt

然后,您可以使用 依次处理每个文本文件awk,这会为每个处理的文件生成一列数据。所以在这个假设的目录中,现在有 6 个文件:

file01.txt
file02.txt
file03.txt
file01.txt.csv
file02.txt.csv
file03.txt.csv

最后3个文件是程序的结果awk

要将上一步中生成的 CSV 文件粘贴到一个 CSV 文件中,其列数与上一步中生成的文件数相同,请使用:

paste -d '[DELIMITER]' file??.txt.csv > out.csv

将上述代码替换[DELIMITER]为要在生成的 CSV 文件中用作分隔符的字符。例如,如果file01.txt.csv包含以下数据:

1
2
3

...并file02.txt.csv包含以下数据:

4
5
6

...并file03.txt.csv包含以下数据:

7
8
9

...然后paste -d ';' file??.txt.csv > out.csv将用以下内容填充文件“out.csv”:

1;4;7
2;5;8
3;6;9

相关内容