Подскажите как вывести список файлов(текстовых) у которых скажем третья строка в тексте равняется какой нибудь заранее введеной переменной
а то grep ищет по всему файлу
>Подскажите как вывести список файлов(текстовых) у которых скажем третья строка в тексте
>равняется какой нибудь заранее введеной переменной
>а то grep ищет по всему файлу
head -3 file | tail -1 выведет 3строку из файла, её и грепайте.
>>Подскажите как вывести список файлов(текстовых) у которых скажем третья строка в тексте
>>равняется какой нибудь заранее введеной переменной
>>а то grep ищет по всему файлу
>head -3 file | tail -1 выведет 3строку из файла, её и
>грепайте.
а если нужно чтоб вместо одного файлы был список от команды dir или ls
>а если нужно чтоб вместо одного файлы был список от команды dir
>или lsfor i in `ls *.cc` ; do head -3 $i | tail -1 | grep 'what' ; done
>>а если нужно чтоб вместо одного файлы был список от команды dir
>>или ls
>
>for i in `ls *.cc` ; do head -3 $i | tail
>-1 | grep 'what' ; done
спасибою
она выдает список строк какие нашли
а если нужен список файлов где было найдена фраза?for i in `ls *.cc` ; do head -3 $i | tail -1 | grep 'what' *; done
выдает что то много лишнего (как у меня вместо 2 имен файлов выдает их же но раз 20 повторяя)
>>>а если нужно чтоб вместо одного файлы был список от команды dir
>>>или ls
>>
>>for i in `ls *.cc` ; do head -3 $i | tail
>>-1 | grep 'what' ; done
>спасибою
>она выдает список строк какие нашли
>а если нужен список файлов где было найдена фраза?
>
>for i in `ls *.cc` ; do head -3 $i | tail
>-1 | grep 'what' *; done
>выдает что то много лишнего (как у меня вместо 2 имен файлов
>выдает их же но раз 20 повторяя)
for i in `ls *.txt` ; do head -4 $i | tail -1 | grep -il '11' ; done
выдает что найдено в трех файлах но вместо их имен выдает
(standard input)
(standard input)
(standard input)
а как получить список файлов?
for i in `ls *.txt` ; do if head -4 $i | tail -1 | grep -i '11' >/dev/null; then echo $i; fi; done\^P^/
>for i in `ls *.txt` ; do if head -4 $i | tail -1 | grep -i '11' >/dev/null; then echo $i; fi; done
>
>\^P^/
спасибо то что надо,
еще вопросик - если в текстовом файле есть список текстовых файлов (по одному файлу на строке) как вывести в цикле последовательно содержимое перечисленных файлов?
>>for i in `ls *.txt` ; do if head -4 $i | tail -1 | grep -i '11' >/dev/null; then echo $i; fi; done
>>
>>\^P^/
>спасибо то что надо,
>еще вопросик - если в текстовом файле есть список текстовых файлов (по
>одному файлу на строке) как вывести в цикле последовательно содержимое перечисленных
>файлов?
там посмотрите, похожий вопрос http://www.opennet.me/openforum/vsluhforumID9/6491.html
fgrep
>еще вопросик - если в текстовом файле есть список текстовых файлов (по
>одному файлу на строке) как вывести в цикле последовательно содержимое перечисленных
>файлов?Подойдет? :)
# for i in `cat filelist.txt` ; do cat $i ; done
>>>>а если нужно чтоб вместо одного файлы был список от команды dir
>>>>или ls
>>>
>>>for i in `ls *.cc` ; do head -3 $i | tail
>>>-1 | grep 'what' ; done
>>спасибою
>>она выдает список строк какие нашли
>>а если нужен список файлов где было найдена фраза?
>>
>>for i in `ls *.cc` ; do head -3 $i | tail
>>-1 | grep 'what' *; done
>>выдает что то много лишнего (как у меня вместо 2 имен файлов
>>выдает их же но раз 20 повторяя)
>
>
>for i in `ls *.txt` ; do head -4 $i | tail
>-1 | grep -il '11' ; done
>выдает что найдено в трех файлах но вместо их имен выдает
>(standard input)
>(standard input)
>(standard input)
>а как получить список файлов?find . -maxdepth 1 -name "*.txt" -exec grep what -l '{}' \;
сорри немного провтыкал:(