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번째 문자를 반환합니다.