2016-12-02 29 views
0

的2個文件名單上有2個目錄dir1dir2其中有像如何追加2個目錄

dir1 
    file1(1 2 3) 
    file2 
    file3 .... 
dir2 
    file1(4 5 6) 
    file3 
    file5 .... 

現在我想dir1/file1dir2/file1dir1/file3追加到dir2/file3

相同的一組文件名

只有當兩個文件存在於兩個不同的目錄中時,我才需要追加。 這裏dir1/file2不在dir2,所以我們需要忽略這些情況。

這樣的最終輸出應該是file1(1 2 3 4 5 6)

+0

最後一句話是誤導:什麼是file1(1 2 ... 6)?從第一部分我明白,dir2/file1現在應該有dir1/file1之後。 – fedorqui

+0

也許你可以簡單地使用'>>':循環遍歷dir1中的所有文件,提取文件名部分,然後執行'cat dir1/$ FILENAME >> dir2/$ FILENAME'。或者你想完全忽略不在dir2中的文件? –

+0

我剛剛給一個例子,像dir1/file1可能有1 2 3和dir2/file1可能有4 5 6和追加後應該有dir2/file1 1 2 3 4 5 6 – user1990571

回答

0

我要追加到dir1/file1dir2/file1dir1/file3dir2/file3

files=`ls dir1` 
cd dir2 
files=`ls $files 2>/dev/null` 
for file in $files 
do cat ../dir1/$file >>$file 
done 

注意,因爲你追加dir1/file1dir2/file1dir2/file14 5 61 2 3