gpt4 book ai didi

linux - Impty grep 导致循环

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:37:31 26 4
gpt4 key购买 nike

我是 shell 脚本的新手,所以这可能是一个很容易回答的问题

我在一个程序中识别出一些有趣的基因,输出是数据文件兴趣.txt

Nrg3
Srebf1
Cacna2d3
LOC100759725
LOC100761135
LOC100771217
LOC100769029

我有另一个数据文件 (unique_saml),其中包含大多数这些名称以及其他信息例如

Nrg3    neuregulin_3    XM_003503005.1

所以我想编写一个脚本来获取我的结果并从我的数据文件中获取其余数据

"#!/bin/sh
for (( i = 0 ; i <= 7; i++ ))
do
cat interest.txt | head -$i | tail -1 | gawk '{print $1}' > tempname

name=`awk '{print $1 }' < tempname`

grep `echo $name` unique_saml >> results.txt
done

但是程序停止并且永远不会结束,因为在 unique_saml 文件中找不到 i = 4 = LOC100759725 = grep 返回空。

如何避免这种情况?

最佳答案

grep 可以使用 -f 从文件中读取模式:

$ grep -f interest.txt unique_saml
Nrg3 neuregulin_3 XM_003503005.1

如果您希望 interest.txt 中的值仅匹配 unique_saml 中的第一列:

$ sed 's/^/^/' interest.txt | grep -f - unique_saml
Nrg3 neuregulin_3 XM_003503005.1

关于linux - Impty grep 导致循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14642891/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com