2016-03-09 127 views
0

我有一個需要在配對文件上運行的shell腳本(例如file1file2)。對於每一對,當前目錄中應該生成5個輸出文件。我如何在不同目錄中的多個配對文件上運行一個shell腳本?對linux中多個目錄中的文件運行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/pair1

+1

因爲它的立場有沒有足夠的信息來了解你的要求。你可以更具體一些,給出一個目錄結構的例子,描述除了說你有file1和file2之外什麼構成了「對」? – tink

+0

該結構將看起來像--- pair1:「/ x/y/z/1/file1」和「x/y/z/1/file2」; pair2:「x/y/z/2/file1」和「x/y/z/2/file2」。我想在這兩個對中運行相同的shell腳本。輸出需要保存在當前目錄中,對於pair1的輸出,它將是/ x/y/z/1/ –

+0

很好......現在編輯您的問題並使其可讀;}並讓我們知道是否保證這些對始終是完整的,或者是否需要進行錯誤檢查。 – tink

回答

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 
+0

嗨mouviciel!我感謝你的幫助,但我幾乎不理解劇本。 「create_five_files_with_pair」的用途是什麼?我應該在哪裏包含我自己的shell腳本? –

+0

'create_five_files_with_pair'只是您計算的佔位符。 – mouviciel

相關問題