.txtファイルの文字列をコマンドに追加する - マクロで使用する

.txtファイルの文字列をコマンドに追加する - マクロで使用する

複数のファイルに取り組んでおり、次の名前で保存されます。

N.YMDH.U.A.1.SAC    
N.YMDH.U.D.2.SAC  
N.YMDH.U.E.3.SAC  

ちょっと待って...
私には.txt次のようなファイルもあります。YMDH_arrival_time.txt

N.YMDH.U.A.1.SAC    5.000   7.000  
N.YMDH.U.D.2.SAC    7.321   4.313  
N.YMDH.U.E.3.SAC    3.243   7.876  

ちょっと待ってください....ファイル名が一致したら、同じ入力行を含むファイルに対してコマンドを実行するスクリプトを作成したいと
思います。$1$2


私は
#### $fileを1つずつ読みたいので、temp_file.txtの長さは1行にすぎません。その後、後で同じファイルを読み込み、.txtファイルの値を追加してから、プロセスを繰り返します。

for file in /Documents/Scaling/YMDH/*.SAC do;

awk '{$1 ~ /$file/ {print $1  $2 $3}' /Documents/Scaling/YMDH_arrival_time.txt > temp_file.txt 

#### in hope to find the row which matches and print that row into a new txt file

SAC <<EOF   

r $file   
CHNDHR T (I want to put the value of $2 of temp_file.txt here)   
w $file.done  
quit   
EOF   
done

どんな助けや選択肢にも感謝します。ありがとう

答え1

YMDH_arrival_time.txtファイルの形式が固定されている場合は、<string> <number> <number>次の方法で十分です。grep+方法:

grep -f <(cat /Documents/Scaling/YMDH/*.SAC) YMDH_arrival_time.txt > temp_file.txt

答え2

既存の方法に適応するには、単に以下を使用します。

変数=$(cat temp_file.txt)

しかし、RomanPerekhrestの方法についてのコメントを確認してください。

関連情報