Когда я отслеживаю свои резервные данные aws (собранные с помощью $ (aws s3 sync >> logfile)), данные выглядят хорошо, когда я 'cat' файл, но если я 'grep yada yada | sed yada yada backup.log> newfile ', затем перенаправьте его на' mail 'или посмотрите на него' vi ', теперь в stdout отображаются дополнительные символы. Пример:
[от кошки к стандарту]
$ cat aws.tail.log
Starting aws backup Wed Apr 17 00:01:01 EDT 2019
upload: zim/Beer/.zim/state.conf to s3://...
upload: Documents/testfile to s3://...
Completed aws backup Wed Apr 17 00:01:52 EDT 2019
[cat перенаправить в файл]
$ cat aws.tail.log > aws.email.txt
$ vi aws.email.txt
here's what I see in vi:
Starting aws backup Wed Apr 17 00:01:01 EDT 2019
Completed 0 file(s) with ~0 file(s) remaining (calculating...)^M
Completed 2.5 KiB/~225.5 KiB (14.8 KiB/s) with ~3 file(s) remaining (calculating...)^Mupload: zim/Beer/.zim/state.conf to s3://
Completed 2.5 KiB/~225.5 KiB (14.8 KiB/s) with ~2 file(s) remaining (calculating...)^MCompleted 3.5 KiB/~225.5 KiB (3.5 KiB/s) with ~2 file(s) remaining (calculating...) ^Mupload: zim/Beer/h
ouse/tech/sterling/notifications.txt to s3://
Completed 226.1 KiB/~226.1 KiB (70.3 KiB/s) with ~0 file(s) remaining (calculating...)^M
Completed 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)
^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating..
.)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating
...)^MCompleted 0 file(s) with ~0 file(s) remaining (calculating...)^M
Это также отображается в теле письма, когда я пишу с $ (cat daily_stats.txt | mail -s "subject" $ EMAIL), или также используя $ (mail -s "subject" $ EMAIL
Я попытался отфильтровать символы ^ M, но он делает только это. Также попробовал:
sed -r "s / \ x1B [([0-9] {1,2} (; [0-9] {1,2})?)? [m | K] // g"
а также
perl -p -e 's / \ r // g'
и еще, дополнительные строки (Завершено 0 файлов), осталось ~ 0 файлов (вычисление ...) ^ M)
Кто-нибудь знает, как получить стандартный вывод из 'cat' в электронное письмо или текстовый файл без дополнительного джаза?
Спасибо!