2
我遇到了一个很好的单行搜索文本并使用给定数量的尾随和后续行打印出结果。我正在尝试创建一个脚本。 到目前为止,这是我:带有nawk的脚本不会将输出打印到屏幕
# *********************************************************
# This uses nawk to list lines coming prior to and after
# the given search string.
# Format: xgrep <string> <file> <before> <after>
# ********************************************************
STR=$1
FILE=$2
BEF=$3
AFT=$4
export STR
export FILE
export BEF
export AFT
nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=$BEF a=$AFT s=$STR $FILE
的问题是,NAWK命令的输出不会出现在屏幕
>xgrep "bin/sh" * 0 3
>
但是,如果我在键入命令,我得到一个合适的输出:
>nawk 'c-->0;$0~s{if(b)for(c=b+1;c>1;c--)print r[(NR-c+1)%b];print;c=a}b{r[NR%b]=$0}' b=0 a=3 s="bin/sh" *
#!/bin/sh
export AEGIS_PROJECT=$1
export EDITOR=cat
#!/bin/sh
aegis -cpu $pwd
aegis -dbu $1
#!/bin/sh
cd $HOME/ex_7/src/DTTCom
NRMan alphabuild clean
NRMan alphabuild library ex_7 8.19 app TEST DTTCom debug -j10
#!/bin/sh
cd $HOME/icx/src/DTTCom
NRMan alphabuild clean
NRMan alphabuild library icx_1 1.1 app TEST DTTCom debug -j10
#!/bin/sh
# *********************************************************
# This uses nawk to list lines coming prior to and after
# the given search string.
这是什么原因导致脚本工作?
谢谢。当我用“'包装”文件“时它工作。有没有一种方法可以在脚本中做到这一点,以便用户不必打扰单引号? – Gayan 2009-04-23 07:18:50