В bash-файле у меня есть logfileA.txt
, который содержит выходные данные из wget
, которые я хотел бы запустить grep
, чтобы проверить наличие любых слов "error" или "fail" и т. Д., Как так:
grep -ni --color=never -e "error" -e "fail" logfileA.txt | awk -F: '{print "Line "$1": "$2}'
# grep -n line number, -i ignore case; awk to add better format to the line numbers (https://stackoverflow.com/questions/3968103)
Проблема в том, что я думаю, что вывод wget
в logfileA.txt
полон символов, которые могут испортить ввод для grep
, поскольку я не получаю надежных совпадений.
Устранение неполадок, я даже не могу cat
содержимое файла журнала надежно. Например, с cat logfileA.txt
все, что я получаю, это последняя строка, которая искажается:
FINISHED --2019-05-29 17:08:52--me@here:/home/n$ 71913592/3871913592]atmed out). Retrying.
Содержимое logfileA.txt
:
--2019-05-29 15:26:50-- http://somesite.com/somepath/a0_FooBar/BarFile.dat
Reusing existing connection to somesite.com:80.
HTTP request sent, awaiting response... 302 Found
Location: http://cdn.somesite.com/storage/a0_FooBar/BarFile.dat [following]
--2019-05-29 15:26:50-- http://cdn.somesite.com/storage/a0_FooBar/BarFile.dat
Resolving cdn.somesite.com (cdn.somesite.com)... xxx.xxx.xx.xx
Connecting to cdn.somesite.com (cdn.somesite.com)|xxx.xxx.xx.xx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3871913592 (3.6G) [application/octet-stream]
Saving to: 'a0_FooBar/BarFile.dat’
a0_FooBar/BarFile.dat 0%[ ] 0 --.-KB/s
a0_FooBar/BarFile.dat 0%[ ] 15.47K 70.5KB/s
...
a0_FooBar/BarFile.dat 49%[========> ] 1.80G --.-KB/s in 50m 32s
2019-05-29 16:17:23 (622 KB/s) - Read error at byte 1931163840/3871913592 (Connection timed out). Retrying.
--2019-05-29 16:17:24-- (try: 2) http://cdn.somesite.com/storage/a0_FooBar/BarFile.dat
Connecting to cdn.somesite.com (cdn.somesite.com)|xxx.xxx.xx.xx|:80... connected.
HTTP request sent, awaiting response... 206 Partial Content
Length: 3871913592 (3.6G), 1940749752 (1.8G) remaining [application/octet-stream]
Saving to: 'a0_FooBar/BarFile.dat’
a0_FooBar/BarFile.dat 49%[+++++++++ ] 1.80G --.-KB/s
...
a0_FooBar/BarFile.dat 100%[+++++++++==========>] 3.61G 1.09MB/s in 34m 44s
2019-05-29 16:52:09 (909 KB/s) - 'a0_FooBar/BarFile.dat’ saved [3871913592/3871913592]
FINISHED --2019-05-29 17:08:52--
Я предполагаю, что проблема может быть /
с или ---
с или >
с или ==>
с или |
с?
Но поскольку выходные данные из wget
могут отличаться, как мне ожидать и избегать чего-то проблемного для grep
?
Команда:
grep -ni --color=never -e "error" -e "fail" logfileA.txt | awk -F: '{print "Line "$1": "$2}'
Ожидаемый результат:
Line 17: 2019-05-29 16:17:23 (622 KB/s) - Read error at byte 1931163840/3871913592 (Connection timed out). Retrying.
Кроме того, линия ack
будет лучше на этой работе? И если да, то что / как?