0

配列に解析する必要のあるファイルがありますが、実際には、各行の短い部分と最初の84行だけが必要です。時々行は多分:

>MT gi...

そして、MTを配列に入力したいだけです。それ以外の場合は、次のようになります。

>GL000207.1 dn...

GL000207.1が必要です

2つの区切り文字(1つは'>'で、もう1つは''空白)を設定できるかもしれないと思っていましたが、どうすればよいかわかりません。内部フィールドセパレータについて他の人の投稿を読んだことがありますが、それがどのように機能するかは本当にわかりません。私はおそらくこのようなものがうまくいくかもしれないと思いますか?

desiredArray=$(echo file.whatever | tr ">" " ")
for x in $desiredArray
do
   echo > $x
done

助言がありますか?

4

2 に答える 2

2

どうですか:

head -84 <file> | awk '{print $1}' | tr -d '>'

headファイルの最初の行のみawkを取得し、最初のスペースとそれ以降のすべてを削除してtr、「>」を削除します。

于 2012-06-26T19:35:09.313 に答える
0

sedでそれを行うこともできます:

head -n 84 <file> | sed 's/>\([^ ]*\).*/\1/'
于 2012-06-26T19:52:18.173 に答える