【发布时间】:2023-03-13 02:18:01
【问题描述】:
我正在尝试创建一个脚本以在特定单词“statusDescription”之后获取所有 Apache 响应,但我有一个问题,我将某些行的输出重复为匹配的单词或响应可能写了 2 次@相同行
日志“1行”示例:
GET/en?status=1&newMainBalance=5486&serviceAmount=700&ExternalTrxId=asdf&PgTrxId=tfpsadf&amount=0&statusDescription=Failed&customerCode=1.1&newDedicatedBalance=0&secureHash=56a7sdyf&paidAmount=1000&responseMsg=%a1%a1%A1(PG_ID)&language=enHTTP/1.1"200186243**1/1210669**1"-""-""-""https://example.com.eg?statusDescription=Failed&externalTrxId=123&status=203&secureHash=asdf&pgTrxId=asdf
我尝试了下面的命令来获得“statusDescription”和“&”之间的任何匹配
cat test.txt | perl -nle'print $1 while /statusDescription(.*?)\&/g'
cat test.txt | perl -nle'print $1 while /statusDescription(.*?)\&/g'
输出:
=失败
=失败
i 除了结果只有 1 行,就像
=失败
或
=失败=失败
【问题讨论】:
-
尝试 sed:gnu.org/software/sed
-
还可以观看useless use of
cat