cut 명령에서 발견된 모든 하위 문자열을 표시하는 방법

cut 명령에서 발견된 모든 하위 문자열을 표시하는 방법

grep 명령이 있습니다

grep -o 'ITEM+[^ ]*' "file.txt"

반환된 문자열은 다음과 같습니다

ITEM+12345678::hashtext_20191030::ITEM+87654321::hashmap_20191030::ITEM+12348765::hashvalue_20191001

따라서 잘라내기 명령을 추가하면

grep -o 'ITEM+[^ ]*' "file.txt" | cut -c 5-12

결과는 하나만 얻습니다.

12345678

어떻게 하면 다음과 같은 결과를 만들 수 있습니까?

12345678
87654321
12348765

답변1

grep공백 문자를 찾을 때까지 한 줄, [^ ]*패턴 일치 12345678::hashtext_20191030::ITEM+…및 나머지 줄만 반환 합니다. ITEM+and 뒤의 숫자 만 일치시키려면 다음을 사용하세요.

grep -o 'ITEM+[^:]*' file.txt

또는

grep -o 'ITEM+[0-9]*' file.txt

여러 결과를 얻게 됩니다.

당신은 모든 숫자를 얻어야합니다

grep -o 'ITEM+[^:]*' file.txt | cut -c 6-

줄 끝까지 6번째 문자를 반환합니다.

관련 정보