我想从一个文件中获取多个reg-ex。我做了一个for循环。每个reg-ex在文件中有2次出现。我已经使用grep -n来获取我的reg-ex所在的两行的行号。见例子:
cat ../stdout_info/HTSeqQAllBAMsamples.o277329 | grep -n Sample_10Y_W34
是:
49081:Sample_10Y_W34
73620:sample:Sample_10Y_W34已排序
我写了下一行来获取正则表达式。每个'我'都是一个注册。 (总共48个)
for i in $(ls ../Datasets_qualityResults/); do echo $(basename $i); done
我想将49081 - 736 * 14 *(总是减去最后6行)的行打印到名为'results_Sample_10Y_34.txt'的文件中。
我用sed和grep工作了很长时间,但它不起作用。 任何人都可以帮助我吗?
答案 0 :(得分:2)
如果我理解这个问题是正确的,你需要说:
sed -n '/Sample_10Y_W34/,/Sample_10Y_W34/p' filename | head -n -6 > outputfile
sed
命令将打印模式之间的行,head
将删除输出的最后6行,结果将重定向到文件outputfile
。