LINUX.ORG.RU
ФорумAdmin

к гуру скрипто писателям


0

0

есть скрипт с содержимым:


cat sourcefile | sed 'blabla' > tmp_file1 (нужно выбрать кое что)

cat sourcefile | sed 'moreblablabla' > tmp_file2 (нужно выбрать еще кое что)

cat tmp_file2 >> tmp_file1 > stdout (склеить два результата и передать на стандартный вывод)

как можно сделать данный скрипт красивее? а именно, можноли избавиться от временных файлов, и вообще привести все к одной строке?
 

 
anonymous

sed вообще-то ничего не выбирает - это редактор. Так что, насколько я понимаю, замена тривиальна:

sed 'blabla' <sourcefile | sed 'moreblablabla'

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

sed мне выбирает(выводит) определенные строки удовлетворяющие шаблону...

если как вы предлагаете sed 'blabla' <sourcefile | sed 'moreblablabla'
то тогда второй сед будет делать выборку из выборки сделанной первым седом, а нужно делать из sourcefile - т.о. этот вариант "не катит".

есть еще мысли? :)

anonymous
()
Ответ на: комментарий от anonymous

> sed мне выбирает(выводит) определенные строки удовлетворяющие шаблону...

Я и не знал, что sed можно применять для этого :/

(cat sourcefile | sed 'blabla'; cat sourcefile | sed 'moreblablabla')

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

а может еще кто-нибудь просветит несведущего, как sedом вычленить часть текста из файла, при этом нет паттерна, но есть позиция первого символа и позиция последнего символа требуемого "кусочка" , позиция - в смысле номер. Перерыл доки по седу - не могу найти :(

anonymous
()
Ответ на: комментарий от anonymous

Если просто из каждой строки, то можно использовать cut -b 6-23 sourcefile, а не sed (cut вроде быстрее, чем sed).

mky ★★★★★
()
Ответ на: комментарий от mky

Не видишь, что-ли? sed-o-фетишист попался. sed его фсё. :-)

sdio ★★★★★
()
Ответ на: комментарий от sdio

нет, не в строке, а в файле... Так нельзя?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.