我有一个文件,我需要解析成一个数组,但我真的只想要每行的一小部分,只有前84行。 有时这行可能是:
>MT gi...
我只想将MT输入数组。其他时候可能是这样的:
>GL000207.1 dn...
我需要GL000207.1
我在想你可以设置两个分隔符(一个是'>'而另一个是''空格),但我不确定你会怎么做。我已经阅读了有关内部字段分隔符的其他人的帖子,但我真的不确定它是如何工作的。我想也许这样的事可能有用吗?
desiredArray=$(echo file.whatever | tr ">" " ")
for x in $desiredArray
do
echo > $x
done
有什么建议吗?
答案 0 :(得分:2)
怎么样:
head -84 <file> | awk '{print $1}' | tr -d '>'
head
仅占用文件的第一行,awk
剥离第一个空格及其后的所有内容,tr
删除'&gt;'。
答案 1 :(得分:0)
你也可以用sed:
来做head -n 84 <file> | sed 's/>\([^ ]*\).*/\1/'