행 끝에 행 번호 및 히트카운트를 표시하도록 GREP 출력을 포맷하려면 어떻게 해야 합니까?
파일의 문자열을 일치시키기 위해 grep을 사용하고 있습니다.다음은 샘플 파일입니다.
example one,
example two null,
example three,
example four null,
grep -i null myfile.txt
돌아온다
example two null,
example four null,
일치하는 행을 회선 번호와 함께 다음과 같이 반환하려면 어떻게 해야 합니까?
example two null, - Line number : 2
example four null, - Line number : 4
Total null count : 2
c는 일치하는 행의 합계를 반환하지만, 추가하는 형식을 올바르게 지정하는 방법을 모릅니다.total null count
줄 번호를 어떻게 붙여야 할지 모르겠어요.
내가 뭘 할 수 있을까?
-n
회선번호를 반환합니다.
-i
ignore-case 용입니다.대소문자를 일치시킬 필요가 없는 경우에만 사용
$ grep -in null myfile.txt
2:example two null,
4:example four null,
와의 결합awk
일치 후에 라인 번호를 인쇄하려면:
$ grep -in null myfile.txt | awk -F: '{print $2" - Line number : "$1}'
example two null, - Line number : 2
example four null, - Line number : 4
명령어 대체를 사용하여 총 null 카운트를 출력합니다.
$ echo "Total null count :" $(grep -ic null myfile.txt)
Total null count : 2
사용하다-n
또는--line-number
.
체크 아웃man grep
더 많은 옵션을 제공합니다.
사용하다grep -n -i null myfile.txt
각 일치 앞에 있는 행 번호를 출력합니다.
GREP에는 일치하는 총 회선의 카운트를 인쇄하는 스위치가 없는 것 같습니다만, 그것을 실현하기 위해서 grep의 출력을 wc에 파이프로 연결하기만 하면 됩니다.
grep -n -i null myfile.txt | wc -l
또는 사용awk
대신:
awk '/null/ { counter++; printf("%s%s%i\n",$0, " - Line number: ", NR)} END {print "Total null count: " counter}' file
grep
회선을 검색하여 회선번호를 출력하지만 다른 것은 "프로그래밍"할 수 없습니다.임의의 텍스트를 포함하여 다른 "프로그래밍"을 수행하려면 awk를 사용할 수 있습니다.
$ awk '/null/{c++;print $0," - Line number: "NR}END{print "Total null count: "c}' file
example two null, - Line number: 2
example four null, - Line number: 4
Total null count: 2
또는 셸만 사용하는 경우(bash/ksh)
c=0
while read -r line
do
case "$line" in
*null* ) (
((c++))
echo "$line - Line number $c"
;;
esac
done < "file"
echo "total count: $c"
또는 perl(완전성을 위해...)로 지정합니다.):
perl -npe 'chomp; /null/ and print "$_ - Line number : $.\n" and $i++;$_="";END{print "Total null count : $i\n"}'
Linux 명령어 linux http://linuxcommand.org/man_pages/grep1.html 에 대해서는, 이 링크를 참조해 주세요.
no 줄, 코드 줄 및 파일을 표시하려면 터미널 또는 cmd에서 이 명령어 GitBash(단말기로 전원 공급)를 사용합니다.
grep -irn "YourStringToBeSearch"
미래에 도움이 될 것 같아서요여러 문자열 및 출력 행 번호를 검색하고 출력을 참조하려면 다음과 같이 입력합니다.
egrep -ne 'null|three'
다음과 같이 표시됩니다.
2:example two null,
3:example three,
4:example four null,
egrep -ne 'null|three' | less
보다 적은 세션으로 출력을 표시합니다.
HTH 준
언급URL : https://stackoverflow.com/questions/3968103/how-can-i-format-my-grep-output-to-show-line-numbers-at-the-end-of-the-line-and
'programing' 카테고리의 다른 글
열의 일치 데이터를 기반으로 두 Excel 테이블 병합 (0) | 2023.04.19 |
---|---|
Nodejs가 Windows에 설치된 모듈을 찾을 수 없습니다. (0) | 2023.04.19 |
테이블의 SQL 수 행 (0) | 2023.04.19 |
Microsoft 참조 방법Office.Interop.Excel dll? (0) | 2023.04.19 |
Git 추가 및 커밋을 하나의 명령어로 실행 (0) | 2023.04.19 |