줄 끝에 줄 번호와 적중 횟수를 표시하도록 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
무시 케이스입니다. 대소 문자 구분이 필요하지 않은 경우에만 사용
$ 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
명령 대체를 사용하여 총 널 수를 인쇄하십시오.
$ 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 -npe 'chomp; /null/ and print "$_ - Line number : $.\n" and $i++;$_="";END{print "Total null count : $i\n"}'
리눅스 명령 리눅스 http://linuxcommand.org/man_pages/grep1.html에 대한이 링크를 참조 하십시오
줄 번호, 코드 줄 및 파일을 표시하려면 터미널 또는 cmd에서 GitBash (Powered by terminal) 명령을 사용하십시오.
grep -irn "YourStringToBeSearch"
미래에 당신에게 도움이 될 것 같아요. 여러 문자열 및 출력 행 번호를 검색하고 출력을 통해 찾아 보려면 다음을 입력하십시오.
egrep -ne 'null|three'
표시됩니다:
2:example two null,
3:example three,
4:example four null,
egrep -ne 'null|three' | less
적은 세션에서 출력을 표시합니다
6 월
'Programing' 카테고리의 다른 글
가치에서 C # 열거 형 설명을 얻는 방법은 무엇입니까? (0) | 2020.02.29 |
---|---|
루트가 아닌 프로세스가 Linux의 "권한있는"포트에 바인딩 할 수있는 방법이 있습니까? (0) | 2020.02.29 |
CMake 출력을 지우는 'cmake clean'명령 찾기 (0) | 2020.02.29 |
예외를 일으킨 예외 설명 및 스택 추적을 모두 문자열로 가져옵니다. (0) | 2020.02.29 |
내용으로 div의 높이를 확장하십시오. (0) | 2020.02.29 |