作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我是 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/
我是 shell 脚本的新手,所以这可能是一个很容易回答的问题 我在一个程序中识别出一些有趣的基因,输出是数据文件兴趣.txt Nrg3 Srebf1 Cacna2d3 LOC100759725 LO
我是一名优秀的程序员,十分优秀!