0

私は命名規則bond_7.LEU.CA.1.dat bond_10.VAL.CB.1.dat.....を持つファイルのセットを1つ持っており、同じ拡張子のbondではなく文字列距離で始まるファイルの他のセットを持っていますつまり、distance_7.LEU.CA.1.dat .... シェルスクリプトで貼り付けコマンドを使用して、対応する行または後続のファイル行をマージしようとしています

貼り付けを行うつもりです bond_7.LEU.CA.1.dat distance_7.LEU.CA.1.dat > ../raj/angle_dist_7.LEU.CA.dat

for ループを使用しようとしましたが、適切なファイルにアクセスするためにファイル名の文字列を置き換えることに固執しました。

前もって感謝します、

どんな助けでも大歓迎です。

4

1 に答える 1

1
#!/bin/bash
for FILE in bond* 
do
    paste "$FILE" "${FILE/bond/distance}" > "../raj/${FILE/bond/angle_dist}"
done

それですか?

ps。そのような置換は純粋では機能しませんshbashまたはkshまたはまたはそのようなものを使用する必要がありますzsh

pps。shでそれを使用するに"${FILE/bond/distance}"

`echo $FILE | sed 's/bond/distance/'`
于 2012-07-10T11:50:46.810 に答える