編集:ブロック引用テキストを追加しました。
acc.paired.txt
照明サンプル名()を含むタブ区切りのテキストファイル()がありますhead
。
SRR10598163_R1.fastq.gz SRR8916417_R2.fastq.gz
SRR10598049_R1.fastq.gz SRR10598163_R2.fastq.gz SRR8916418_R1.fastq.gz
SRR10598049_R2.fastq.gz SRR10598164_R1.fastq.gz SRR8916418_R2.fastq.gz
SRR10598050_R1.fastq.gz SRR10598164_R2.fastq.gz SRR8916419_R1.fastq.gz
SRR10598050_R2.fastq.gz SRR10598165_R1.fastq.gz SRR8916419_R2.fastq.gz
SRR10598051_R1.fastq.gz SRR10598165_R2.fastq.gz SRR8916420_R1.fastq.gz
SRR10598051_R2.fastq.gz SRR10598166_R1.fastq.gz SRR8916420_R2.fastq.gz
SRR10598052_R1.fastq.gz SRR10598166_R2.fastq.gz SRR8916421_R1.fastq.gz
SRR10598052_R2.fastq.gz SRR10598167_R1.fastq.gz SRR8916421_R2.fastq.gz
SRR10598053_R1.fastq.gz SRR10598167_R2.fastq.gz SRR8916422_R1.fastq.gz
SRR10598053_R2.fastq.gz SRR10598168_R1.fastq.gz SRR8916422_R2.fastq.gz
SRR10598054_R1.fastq.gz SRR10598168_R2.fastq.gz SRR8916423_R1.fastq.gz
私がしたい変更は2つあります。 1)重複したサンプル名を削除し、2)特定のサンプル名の後のすべての文字を削除します。私のターゲット出力はSRR###
数値(no _R#.fastq.qz
)のみを含み、重複する項目は含まないタブで区切られたテキストファイルです。ターゲット出力の例:
SRR10598163
SRR8916417
SRR10598049
SRR8916418
SRR10598164
SRR10598050
SRR8916419
SRR10598165
SRR10598051
SRR8916420
SRR10598166
SRR10598052
SRR8916421
SRR10598167
SRR10598053
SRR8916422
SRR10598054
SRR10598168
SRR8916423
sed
文字削除モードに切り替えます。
`sed 's| _R1.fastq.gz||g' acc.paired.txt > out.txt`
しかし、out.txt
変化はありません。
ティア。
ベストアンサー1
使用grep
とsort
:
grep -oE '\bSR[^_]+' file | sort -u
SRR10598049
SRR10598050
SRR10598051
[...]
正規表現の一致は次のとおりです。
節 | 説明する |
---|---|
\b |
単語文字(\w)と単語以外の文字アンカーの間の境界アンカー |
SR |
「SR」 |
[^_]+ |
以下を除くすべての文字:_ (1回以上(最大の一致) |