データベースにエラーをキャプチャし、エラーがあり、更新されていないレコードのリストを含むログファイルがあります。レコード名は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