问题描述
所以基本上我有两个文件夹,每个文件夹都包含 174 个 txt 文件。 Folder1 包含具有以下名称的文件:file1.txt、file2.txt、file3.txt、...、file174.txt
Folder2 包含具有以下名称的文件:file_1.txt、file_2.txt、...、file_174.txt。区别仅在于下划线。我想合并每个对应的文件(意思是 file1 与 file_1、file2 与 file_2 等),这样我最终会得到 174 个合并文件。
0
1
1
30 58 102 120
12 120 214.4 1210
20 312 543.2 912.33
0 30 58 102 120
1 12 120 214.4 1210
1 20 312 543.2 912.33
我的方法是使用以下带有字符串格式、for 循环和粘贴命令的 bash 脚本。
#!/bin/bash
# A shell script to merge our 174 txt files
FMT1 = 'Folder1/file%d.txt'
FMT2 = 'Folder2/file_%d.txt'
FMT3 = 'MergedFolder/file%d.txt'
for (( i = 0; i < 175; i++ ))
do
printf -v VAR "$FMT1" i
printf -v VAR "$FMT2" i
printf -v VAR "$FMT3" i
paste -d ' ' FMT1 FMT2 > FMT3
done
我收到错误消息,说 FMT 1 2 和 3 未定义且不存在此类目录
是否有更好的方法使用 Python?谢谢。
解决方法
只需在您找到 cd
和 Folder_1
的目录中的 Folder_2
并将其作为 bash 脚本运行。
for ((i=1; i<=174; i++))
do
paste -d" " Folder_1/file${i}.txt Folder_2/file_${i}.txt > ${i}_merged.txt
done