0

我有一个需要解析为数组的文件,但我真的只想要每行的一小部分,并且只需要前 84 行。有时这条线可能是:

>MT gi...

我只想将 MT 输入到数组中。其他时候可能是这样的:

>GL000207.1 dn...

我需要 GL000207.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 回答