你好,我想迭代地合并input_directory中的文件,并将合并的文件放在output_directory中。
假设在input_directory中我有: file1.txt,file2.txt,file3.txt
我希望输出目录包含以下文件:
我几乎没有使用bash脚本的经验,很明显,可以在for循环中使用迭代器来完成,但我不知道如何完成。
谢谢你提前..。
发布于 2012-10-26 16:44:55
存储附加到输出中的前一个文件名,并在下一次迭代期间使用它:
#!/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列出排序文件的优点。如果文件名具有不同的前缀,并且有特定的输出顺序,则可以对其进行修改。
https://stackoverflow.com/questions/13078900
复制相似问题