0

ファイルパスがあります。

/ifshk5/BC_IP/PROJECT/T11073/T11073_RICekkR/Fq/AS34_59329/111220_I631_FCC0E5EACXX_L4_RICwdsRSYHSD11-2-IPAAPEK-93_1.fq.gz

この部分を手に入れたい

/T11073_RICekkR/Fq/AS34_59329

として$location

それらを取得するにはどうすればよいsedですか?

4

2 に答える 2

1

cutまたはawk(提案どおり)を使用します。

しかし、sedあなたとそれをするために、このようなことをしてください:

locationpath=/ifshk5/BC_IP/PROJECT/T11073/T11073_RICekkR/Fq/AS34_59329/111220_I631_FCC0E5EACXX_L4_RICwdsRSYHSD11-2-IPAAPEK-93_1.fq.gz
location=$(echo $locationpath | sed 's%\(/[^/]*\)\{4\}\(/[^/]*/[^/]*/[^/]*\).*%\2%')
于 2013-02-05T03:50:25.770 に答える
1

ファイルパスを操作するときは、使用する方が簡単awkだと思いますが、自分で決めることができます。これが私がすることです:

location=$(echo "$path" | awk -F "/" '{ print "", $6, $7, $8 }' OFS="/")

パターンを一致させようとしている場合は、それsedが適切なオプションです。しかし、あなたは仕様について言及していません。

于 2013-02-05T03:38:26.557 に答える