나는 이 파일을 가지고 있습니다 :
N104 F1810
N104 F3810
N104 F810
N104 F305
그리고 grep
입력 스크립트.
스크립트:
enter input
read input
cat file | grep $input
"810"을 입력하면 다음과 같이 출력됩니다.
N104 F1810
N104 F3810
N104 F810
다음을 출력해야 합니다.
N104 F810
답변1
grep -E "(^|[^0-9])$input($|[^0-9])" < file
앞의 것은 $input
줄의 시작이거나 숫자가 아닌 것이고, 다음의 것은 줄의 끝이거나 숫자가 아닌 것입니다.
답변2
다음 과 같이 할 수도 있습니다 grep
.
$ grep "[[:alpha:]]810" sample.txt
N104 F810
보다 구체적으로 사용 사례는 다음과 같습니다.
$ input=810
$ grep "[[:alpha:]]$input" < sample.txt
N104 F810
grep
모드가 첫 번째 열도 처리할 수 있을 것으로 기대하는지, 그렇다면 어떤 용량을 처리할 수 있을지 모르겠습니다 .
$ input=104
$ grep "[[:alpha:]]$input" < sample.txt
N104 F1810
N104 F3810
N104 F810
N104 F305
grep
이는 알파벳 문자 집합을 활용합니다 . 무엇을 요구하는지 확실하지 않지만 이렇게 하면 두 번째 열에서 뒤에 오는 숫자를 검색할 수 있습니다. 보다 강력한 솔루션이 필요한 경우 정규식을 변경해야 할 수도 있습니다.