您好我想迭代合并input_directory中的文件,并将合并的文件放在output_directory中。
假设在input_directory中我有:file1.txt,file2.txt,file3.txt
我希望输出目录包含以下文件:
我几乎没有使用bash脚本的经验,很明显它可以在for循环中使用迭代器来完成,但我不知道如何。
提前谢谢..
答案 0 :(得分:0)
存储附加到输出的先前文件名,并在下一次迭代中使用它:
#!/bin/bash
touch prev #a temp variable to hold previous filename
i=1;
for file in $(ls /INPUT/file*);
do
cat /OUTPUT/$prev /INPUT/$file > /OUTPUT/merge$i;
prev=merge$i;
let i=i+1
done
此代码利用事实ls
列出具有相同前缀的已排序文件。如果文件名具有不同的前缀并且具有要输出的特定顺序,则可以对其进行修改。