Форум — General подскажите как grep по двум условиям В СТРОКУ? bash, grep 0 1 так конечно работает grep "бла1\|бла2" ./*.txt но нужен ответ в строку типа - имя файла:...бла1...:....бла2... а не каждое условие отдельно Ссылка
Ответ на: комментарий от Stanson 21.02.19 11:49:10 MSK Stansonразделитель и newline и теги, поэтому и написал txtмешает большое количество файлов, который еще вы предлагаете посимвольно читать, а завтра может придется в мусоре без тега найти и все это будет бессмыслено, поэтому ищется по подстроке в файле wolverin ★★★ (21.02.19 11:52:42 MSK) автор топика Ссылка
Ответ на: комментарий от legolegs 21.02.19 11:45:53 MSK legolegsСПАСИБО, то что нужно! wolverin ★★★ (21.02.19 12:07:44 MSK) автор топика Ссылка
Ответ на: комментарий от legolegs 21.02.19 11:45:53 MSK работает только с GNU awknextfile можно заюзать из http://gnu.ist.utl.pt/software/gawk/manual/html_node/Nextfile-Function.html , а ENDFILE { } не очень надо, можно выводить и в момент V1&&V2 { }. vodz ★★★★★ (21.02.19 17:55:27 MSK) Показать ответ Ссылка
Ответ на: комментарий от vodz 21.02.19 17:55:27 MSK ENDFILE { } не очень надо, можно выводить и в момент V1&&V2 { }.А может и не можно, зависит от условия задачи в плане отсутствия одного из значений.Ну и нехорошо получится, если один файл хромает на левую ногу, а следущий за ним - на правую. legolegs ★★★★★ (21.02.19 18:27:43 MSK) Последнее исправление: legolegs 21.02.19 18:29:18 MSK (всего исправлений: 2) Показать ответ Ссылка
Ответ на: комментарий от legolegs 21.02.19 18:27:43 MSK А может и не можно, зависит от условия задачи в плане отсутствия одного из значений.Угу. И непонятно, надо последний V1 показывать, если V2 не найдено или первый. Вот для первого на стандартной awk: function show() { if(V1||V2) print _oldfilename ":" V1 ":" V2; V1=""; V2="" } function enextfile() { show(); _abandon_ = FILENAME; next } FNR == 1 { _abandon_ = ""; if (_oldfilename != "") show(); _oldfilename = FILENAME } _abandon_ == FILENAME { next } /one/ { if(!V1) V1=$0; if(V2) enextfile() } /two/ { if(!V2) V2=$0; if(V1) enextfile() } END { show() } vodz ★★★★★ (22.02.19 11:11:04 MSK) Ссылка