含めて、私は例えば、ファイル拡張子および接尾辞の両方を削除し、ファイル名を捕獲しようとしてる試合まで抽出していない:正規表現 - その試合
TEST_EXAMPLE_SUFFIX.file
Output = TEST_EXAMPLE
私はマッチングに基づいてこれをやりたいです_SUFFIX部分を削除し、それ以前のすべての文字を抽出します(_SUFFIXを除く)。
for t in $(ls *.fastq | sed -e /.+?(?=$READ1_EXT)/)
私はエラーを取得する:
command substitution: line 14: syntax error near unexpected token `('
は、私が何をした、一緒forループの一部として、配管はしかし
FILE_EXT=_SUFFIX
/.+?(?=$FILE_EXT)/
:通常、私のようなものを使用します違う?
ありがとう!興味のない場合、この問題は、|ユニットは通常同じファイル名を持つ複数のファイルが存在するが、一意のインスタンスだけを反復したいのでループラインに追加されましたか? – AnnaSchumann
@AnnaSchumann:まず、単一のディレクトリに、あなたがすでに認識しているように、同じファイル名を持つ複数のファイルを持つことはできません。あなたはサブディレクトリ内のファイルを探すことを意図しましたか? – sjsam
明快さに欠けて申し訳ありません。すべてのファイルがペアになっていて、Test_R1.fileやTest_R2.fileのような接尾辞_R1と_R2のためにのみ異なっているとしましょう。私は "テスト"パートを一度取りたいだけですが、通常のループでは2回表示されます。通常は、Rev、cut、uniqを使ってループラインで "Test"を取得しますが、接尾辞が変更された場合は非常に柔軟性がありません。 – AnnaSchumann