shell實現讀取兩個檔案並把行拼接成一行
阿新 • • 發佈:2018-12-11
場景: 檔案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:>>表示寫檔案追加