【发布时间】:2014-06-13 07:10:12
【问题描述】:
我首先搜索一个关键字,一旦在该特定行的文件中找到该关键字,我应该删除到文件末尾。
#! /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。请帮忙。
【问题讨论】:
-
你知道变量只在双引号内扩展,而不是在单引号内,不是吗?这是 Shell 脚本 101。
-
我已经尝试过了,但它无法识别 $d。
-
为什么你在使用
csh时标记了这个bash? -
更好的问题:为什么要在 csh 中编写脚本? faqs.org/faqs/unix-faq/shell/csh-whynot