업그레이드 중 잘못된 데이터베이스 ID 찾기

업그레이드 중 잘못된 데이터베이스 ID 찾기

데이터베이스에 오류를 캡처하고 오류가 있고 업데이트되지 않은 레코드 목록이 포함된 로그 파일이 있습니다. 레코드 이름은 strA로 시작하는 10자리입니다.

Error: could not save changes to record strA5903427123
Error: could not save changes to record strB4403298440
Error: could not save changes to record strC5903427342
Error: could not save changes to record strD4403298988
Error: could not save changes to record strE5903427298
Error: could not save changes to record strF4403298232
Error: could not save changes to record strG5903427455
Error: could not save changes to record strH4403298223

10자리 숫자와 A 목록을 추출하고 "오류: 레코드 str에 변경 사항을 저장할 수 없습니다"를 제거하고 싶습니다. bash에서 어떻게 할 수 있습니까? 목록이 길고, 이와 같은 파일이 많이 있습니다. 누구나 사용할 수 있습니다. 데이터베이스.

답변1

이것이 당신이 원하는 것입니까?

sed -e 's/^.*str//' test.in

답변2

grep다음으로 시작하는 10자리 숫자 ID를 나열하는 데 사용됩니다 .A

grep -Eo "A[0-9]{10}" file

산출

A5903427123

대문자로 시작하는 10자리 ID를 나열합니다.

grep -Eo "[A-Z][0-9]{10}"  file

A5903427123
C5903427342
D4403298988
E5903427298
F4403298232
G5903427455
H4403298223

답변3

다음과 같이 진행할 수 있습니다 awk.

awk '{print $8}' file | tr -d "str"

A5903427123
B4403298440
C5903427342
D4403298988
E5903427298
F4403298232
G5903427455
H4403298223

관련 정보