我首先搜索一个关键词,一旦在该特定行的文件中找到该关键词,我应该删除直到文件末尾。
#! /bin/csh -f
set sa = `grep -n -m 1 "^Pattern" file`
set s = `echo "$sa" | cut -d':' -f1`
set m = `sed '$s,$d' file | tee see > /dev/null`
所以第一行给了我带行号的匹配行,第二行我得到的行号和第三行我试图从行$ s中删除说20到最后但它不起作用。我已尝试过所有组合,但它不接受变量$ s。请帮忙。
答案 0 :(得分:2)
但是你可以通过一行sed
:
sed -n '/SEARCHPATTERN/q;p
-n
告诉我不打印行/SEARCHPATTERN/q
退出搜索模式;p
否则会打印答案 1 :(得分:1)
您需要从引号中取出$s
,以便进行扩展。
set m = `sed $s',$d' file | tee see > /dev/null`