Я хочу найти вхождения строки Execution has sterted
из набора файлов,
сказать три файла, присутствующих в каталоге /home/abc/output/
.Как фиксировать определенную строку в файле
Для этого, я в настоящее время с помощью следующей команды:
grep "Execution has sterted" /home/abc/output/*
Он выводит:
/home/abc/output/file1:line containing "Execution has sterted"
/home/abc/output/file1~:line containing "Execution has sterted"
/home/abc/output/file2:line containing "Execution has sterted"
/home/abc/output/file2~:line containing "Execution has sterted
/home/abc/output/file3:line containing "Execution has sterted"
/home/abc/output/file3~:line containing "Execution has sterted"
Даже хотя 3 файлов есть, вывод состоит из 6 линий, с оригинальным путем (ы) и другие пути (пути), заканчивающиеся на ~
, как показано выше.
Я хочу, чтобы он показывал вхождения исходного пути (путей), а не ~
.
Как достичь этого?
Thanks All,
Это работает для меня.
Мой фактический запрос заключается в том, что через работу по заданию кроны задание будет выполняться и будет указывать на 3 файла журнала. Каждый файл журнала будет состоять из утверждений, из которых мне нужно запятнать 2 утверждения: grep «Execution has steded» и «Execution успешно завершена ». Как только я получу выше двух утверждений, тогда только я могу подтвердить, что работа выполнена успешно. (Потому что некоторое время работа застряла в определенной точке)
как это можно сделать с помощью скриптов? я должен получить сообщение, как работа завершена или задания не удалось
Что такое вывод 'ls'?Я склонен думать, что вы скопировали свои файлы в какой-то момент, и эти '' 'файлы действительно существуют. Нет никакой причины, по которой 'grep' писал бы'/home/abc/output/file1 ~ ', если бы такой файл не существовал. – dimo414