シェル スクリプトで grep コマンドを使用しているときに問題に直面しています。実際には、以下のレコードを含む 1 つのファイル (PCF_STARHUB_20130625_1) があります。
SH_5.55916.00.00.100029_20130601_0001_NUC.csv.gz|438|3556691115
SH_5.55916.00.00.100029_20130601_0001_Summary.csv.gz|275|3919504621
SH_5.55916.00.00.100029_20130601_0001_UI.csv.gz|226|593316831
SH_5.55916.00.00.100029_20130601_0001_US.csv.gz|349|1700116234
SH_5.55916.00.00.100038_20130601_0001_NUC.csv.gz|368|3553014997
SH_5.55916.00.00.100038_20130601_0001_Summary.csv.gz|276|2625719449
SH_5.55916.00.00.100038_20130601_0001_UI.csv.gz|226|3825232121
SH_5.55916.00.00.100038_20130601_0001_US.csv.gz|199|2099616349
SH_5.75470.00.00.100015_20130601_0001_NUC.csv.gz|425|1627227450
そして、1 つの変数 (INPUT_FILE_T) に格納されているパターンがあり、ファイル (PCF_STARHUB_20130625_1) からパターンを検索したいと考えています。そのために、以下のコマンドを使用しました
INPUT_FILE_T="SH?*???????????????US.*"
grep ${INPUT_FILE_T} PCF_STARHUB_20130625_1
上記のコマンドの出力は次のようになります
PCF_STARHUB_20130625_1:SH_5.55916.00.00.100029_20130601_0001_US.csv.gz|349|1700116234
出力に 2 つの問題があります。1 つ目は、出力に 1 つのエントリしか表示されないこと (2 つのエントリが含まれている必要があります) であり、2 つ目の問題は、出力に「PCF_STARHUB_20130625_1:」が含まれていることです。出力は以下のようになります
SH_5.55916.00.00.100029_20130601_0001_US.csv.gz|349|1700116234
SH_5.55916.00.00.100038_20130601_0001_US.csv.gz|199|2099616349
grep以外のテクニックはありますか教えてください。
この問題について私を助けてください。