Форум — General sed - удалить символы с X по Y 0 0 Как sed'ом удалить все символы с X по Y в каждой строке? man sed ниасилил (больно запутанный). Также хотелось бы услышать пояснения что к чему и как здесь должно делаться. Ссылка
sed 's/X[^Y]*Y//g' или sed 's/X.*Y//g' , задача криво сформулирована. Laz ★★★★★ (31.10.08 16:23:05 MSK) Ссылка
> с X по Y в каждой строке X и Y -- позиционные индексы в строке? Т.е. надо удалить, например, с 3 по 8 символы? sdio ★★★★★ (31.10.08 16:28:02 MSK) Показать ответ Ссылка
Ответ на: комментарий от sdio 31.10.08 16:28:02 MSK >X и Y -- позиционные индексы в строке? Т.е. надо удалить, например, с 3 по 8 символы? Ага. Именно так. fat_angel ★★★★★ (31.10.08 16:56:47 MSK) автор топика Показать ответ Ссылка
Ответ на: комментарий от fat_angel 31.10.08 16:56:47 MSK В увлекательной игре "Битва экстрасенсов" победил sdio. По теме: sed тут не нужен. Можно только лишь средствами bash обойтись. $ ddd="1234567890" $ echo ${ddd:2:4} 4567 Выводит четыре символа, начиная с третьей позиции чтобы было "Т.е. надо удалить, например, с 3 по 8 символы?" пишем функцию: $ substring(){ echo ${1:$2:($3-$2)} ; } $ substring $ddd 3 8 45678 Slavaz ★★★★★ (31.10.08 17:18:05 MSK) Показать ответ Ссылка
Ответ на: комментарий от Slavaz 31.10.08 17:18:05 MSK Опс... моя невнимательность. Сделал наоборот, выделение, а не удаление подстроки. remsubstring(){ while read ; do echo -n ${REPLY::$1}; echo ${REPLY:$2:${#REPLY}-$2} done } cat >test.txt <<EOF 1234567890 1234567890 1234567890 EOF $ cat test.txt | remsubstring 3 8 12390 12390 12390 Заодно и для работы в составе конвейера переделал. Slavaz ★★★★★ (31.10.08 17:35:25 MSK) Показать ответ Ссылка
Ответ на: комментарий от Slavaz 31.10.08 17:35:25 MSK Нет такого, что с cut оно проще? svu ★★★★★ (31.10.08 17:40:31 MSK) Показать ответ Ссылка
Ответ на: комментарий от svu 31.10.08 17:40:31 MSK > Нет такого, что с cut оно проще? да, есть такое. :) $ cat test.txt | cut --complement -b '4-8' 12390 12390 12390 Век живи - век учись. Slavaz ★★★★★ (31.10.08 17:45:58 MSK) Показать ответ Ссылка
Ответ на: комментарий от Slavaz 31.10.08 17:45:58 MSK Отлично. То что надо. Всем спасибо. fat_angel ★★★★★ (31.10.08 17:50:10 MSK) автор топика Ссылка