正则表达式正则表达式,用于从行中检索双引号中的字段



我有一个文件,里面有几行这样的行(在两个示例行下面(:

any_string,N/A,Input,1,1,1,06/13/2019 17:14:04,1560456844,8361,Error loading row to target table [any_string]. Error message [
FnName: Execute -- [Informatica][ODBC Oracle Wire Protocol driver][Oracle]ORA-01400: cannot insert NULL into (""any_string"".""any_string"".""any_string"")],2,""12345678"";""1234"";""0"";""123456789"";""12"";""123456789123"";""3"";""12345"";""87654321"";""12345"";""any_string"";""1"";"""";""1"";"""";"""";"""",N/A,N/A,-1,-1,N/A

我需要一个 shell 脚本从上面的两行中提取以下唯一的摘录以写入另一个文件:

""12345678"";""1234"";""0"";""123456789"";""12"";""123456789123"";""3"";""12345"";""87654321"";""12345"";""any_string"";""1"";"""";""1"";"""";"""";""""

我将不胜感激任何正则表达式的提示来完成任务。输入:

any_string,N/A,Input,1,1,1,06/13/2019 17:14:04,1560456844,8361,Error loading row to target table [any_string]. Error message [
FnName: Execute -- [Informatica][ODBC Oracle Wire Protocol driver][Oracle]ORA-01400: cannot insert NULL into (""any_string"".""any_string"".""any_string"")],2,""12345678"";""1234"";""0"";""123456789"";""12"";""123456789123"";""3"";""12345"";""87654321"";""12345"";""any_string"";""1"";"""";""1"";"""";"""";"""",N/A,N/A,-1,-1,N/A

预期输出:

""12345678"";""1234"";""0"";""123456789"";""12"";""123456789123"";""3"";""12345"";""87654321"";""12345"";""any_string"";""1"";"""";""1"";"""";"""";""""
$ awk -F, '/"/{print $(NF-5)}' file
""12345678"";""1234"";""0"";""123456789"";""12"";""123456789123"";""3"";""12345"";""87654321"";""12345"";""any_string"";""1"";"""";""1"";"""";"""";""""

如果这不是您所需要的全部,请编辑您的问题以更好地描述您的要求并提供更具代表性的示例输入/输出。

最新更新