我有一个需要在配对文件上运行的shell脚本(例如file1
和file2
)。对于每对,在当前目录中应该生成5个输出文件。如何在不同目录中的多个配对文件上运行shell脚本?
更具体地说,结构如下所示:
pair1: /x/y/z/1/file1 and x/y/z/1/file2
pair2: /x/y/z/2/file1 and x/y/z/2/file2
我想在像这两个对的多个对上运行相同的shell脚本。输出需要保存在当前目录中,例如/x/y/z/1/
的{{1}}。
答案 0 :(得分:0)
将脚本运行为:
myscript /x/y/z/1/file1 /x/y/z/1/file2 /x/y/z/2/file1 /x/y/z/2/file2
该脚本包含:
#!/bin/bash
create_five_files_with_pair() {
cp $1 outfile1
cp $2 outfile2
cat $1 $2 > outfile3
cat $2 $1 > outfile4
paste $1 $2 > outfile5
}
while test $# -gt 1
do
cd $(dirname $1)
create_five_files_with_pair $(basename $1) $(basename $2)
shift
shift
done