.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

おすすめ記事