LINUX.ORG.RU

манипуляции с текстом


0

1

Всех приветствую!

Не силен в баше, но с вашей помощью нужно решить следующую задачу:

Есть файл, в котором все строки имеют 8 знаков, типа:

abcdefgh
ijklmnop
qrstuvwx

Файл(ы) большой 5-7 гигов Необходимо:
1 В каждой строке вырезать со 2го по 5й и присоединить в конец строки вот так

afghbcde
inopjklm
qvwxrstu

2 Так же вырезать со 2го по 4й, плюс 6й и присоединить в начало вот так

bcdfaegh
jklnimop
rstvquwx

Делаю так: Создаю при помощи cut и paste 2 файла (вырезанное и остаток) и склеиваю их. Получается, но очень долго. Так вот, не могли бы вы подсказать другие решения, хотелось бы попробовать и сравнить. Большое спасибо!


man sed

      1  2345  6-end
1. /^(.)(....)(.*)$/\1\3\2/
2. аналогично -- выделить группы символов и расположить в нужном порядке

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

чего-то у меня не так

echo abcdefgh | sed '/^(.)(....)(.*)$/\1\3\2/'
sed: -e выражение #1, символ 18: неизвестная команда: `\'

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

bj, Вам так же Огромное Спасибо!
p.s. Как можно здесь плюсики ставить?

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