以下のようなパターンを含むファイル、たとえば入力があります。
quantum_mech_.*
astrophysics_.*
geology_.*
economy_*
私は別のファイルを持っています、例えば、件名は次のようになります:
quantum_mech_[101]
astrophysics_[102]
geology_[203]
quantum_mech_[007]
geology_[205]
入力ファイルから各行をgrepして、ファイル「subject」を検索し、最初の一致のみを出力し、その行がsubjectファイルにまったく見つからない場合は「NotMatched」も出力します。だから私は次のような出力を期待しています:
quantum_mech_[101]
astrophysics_[102]
geology_[203]
Not Matched
これはかなり古い問題ですが、どの方法も適切に機能していないようです。以下のコードのいくつかのバリエーションを試しました。
script.csh:
cat $1 | while read line
do grep $line ./subject | head -1 >> output
set VAR=$?
if ( $VAR==0 ) then
echo "Not Matched\n" >> output
endif
done
実行:
script.csh input
sed / grep/cshを使用するヘルプ/ポインターは素晴らしいでしょう。
ありがとう、よろしく、