同じ名前のファイルをマージする

同じ名前のファイルをマージする

[![ここに画像の説明を入力][1]][1]次のファイルセットがあります。

lh.aparc.DKTatlas40.stats
lh.BA.stats
lh.curv.stats
lh.wg.pct.stats
rh.aparc.DKTatlas40.stats
rh.BA.stats
rh.curv.stats
rh.wg.pct.stats
lh. aparc.a2009s.stats
lh.aparc.stats
lh.BA.thresh.stats
lh.entorhinal_exvivo.stats
rh.aparc.a2009s.stats
rh.aparc.stats
rh.BA.thresh.stats
rh.entorhinal_exvivo.stats

各「rh」ファイルを各「lh」ファイルと組み合わせたいです。たとえば、lh.aparc.DKTatlas40.stats + rh.aparc.DKTatlas40.stats = merge.aparc.DKTatlas40.statsを結合する必要があります。

どうすればいいですか?

ベストアンサー1

for lh in lh*; do
    cat "$lh" "rh${lh#lh}" >"merge${lh#lh}"
done

これにより、各lhファイルがそのファイルにrh関連付けられ、関連付けられたバージョンが(ファイル名の内容がmerge続く)名前で保存されます。lh

パラメータ拡張は、値の先頭から文字列を削除します${lh#lh}(たとえば、ローキャスト)。lh$lhlh.BA.stats.BA.stats

おすすめ記事