텍스트를 검색하고 주어진 수의 후행 및 다음 줄을 사용하여 결과를 인쇄하기에 좋은 한 줄자가 나타났습니다. 나는 이것에서 스크립트를 만들려고 노력하고있다. 는 지금까지 내가 무엇을 가지고 :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
는 @Gayan을 업데이 트를 참조하십시오. – paxdiablo
나는 "나오지도"변경하는 방법들/^/$ 4 :?/"파일 정보가 이미 사라진 이후로 그것을 할 수 없습니다 나오지 – Gayan