红联Linux门户
Linux帮助

关于grep和sed中使用变量的问题

发布时间:2011-09-06 14:59:45来源:红联作者:wayne916
1 如果要选取一个文件中的任一给定的行,(比如第20行,行号是变量),请问用sed怎么做?
我试了试这样 sed ‘$jp' $j是给定的行号, 但这样不行。
2 在grep中如何使用变量,就是我要找的字符串不是固定的,也是个变量。
grep '$variable' filename 这个我试了试也不行

求高人指点。
文章评论

共有 5 条评论

  1. wayne916 于 2011-09-07 14:38:57发表:

    非常感谢楼上几位朋友的回答

  2. ICEEN 于 2011-09-07 10:37:45发表:

    [i=s] 本帖最后由 ICEEN 于 2011-9-7 10:41 编辑 [/i]

    j=3;sed -n "$j p" file #只显示指定行
    var= hello ;grep "$var" file

    说明
    '$j' ##单引号阻止$扩展 ,应用双引号

  3. gwssgc 于 2011-09-07 09:35:01发表:

    [i=s] 本帖最后由 gwssgc 于 2011-9-7 09:37 编辑 [/i]

    head 和 tail是显示文件 “首” “尾“ N行文档的命令吧

  4. 相思爱文 于 2011-09-07 06:51:53发表:

    第一个,用head和tail可实现

  5. gwssgc 于 2011-09-06 16:12:51发表:

    [i=s] 本帖最后由 gwssgc 于 2011-9-6 16:43 编辑 [/i]

    第一个sed不太会
    第二个我是这这么干的,假设有个文件叫test.txt
    #!/bin/bash/
    read -p "please input:" b
    echo "$b" > test.txt
    cat test.txt | grep "$b"

    比较笨的办法,请高手指教!