1. 程式人生 > >shell實現讀取兩個檔案並把行拼接成一行

shell實現讀取兩個檔案並把行拼接成一行

場景:     檔案A內容如下:         a         b         c         d         e     檔案B內容如下:         1         2         3         4         5     需要生成檔案如下:         a-1         b-2         c-3         d-4         e-5          首先建立檔案ab,內容為要合併的檔名,如下:         A         B

程式碼如下:

LE=$(sed -n '$=' ./ab) for((j=1;j<2;j++));    //此處for迴圈適用於合併多個檔案,單數是原始檔名,雙數的目標檔名 do         SRC=$(sed -n "${j}p" ./ab)         TGT=$(sed -n "${j+1}p" ./ab)         LEN=$(sed -n '$=' ./${SRC})         for((i=1;i<$LEN+1;i++));         do                 VAL=$(sed -n "${i}p" ./${SRC})                 VAL1=$(sed -n "${i}p" ./${TGT})                 echo $VAL"-"$VAL1 >> ./out/${SRC};         done done

PS:>>表示寫檔案追加