Консультация № 149768
07.11.2008, 13:24
0.00 руб.
0 4 2
Доброго времени суток всем!
Помогите решить одну трабл:
Как из текстового потока, выдаваемого командой cmd вырезать символы с 4 по 14 каждой строки, из строк со второй по пред-пред-последнию (2 с конца).
Второе пробовал (смотри приложение, если строк 100), вроде работает, но как добавить вырезку символов и это прописать одной строкой, не могу реализовать.
Кто-нибудь HELP!

Приложение:
cat file | head -n 98 | tail -n 96

Обсуждение

Неизвестный
07.11.2008, 13:27
общий
это ответ
Здравствуйте, Belov Peter A!
Режет столбцы colrm :
cat file | head -n 98 | tail -n 96|colrm 4 14
Неизвестный
07.11.2008, 13:42
общий
это я стормозил :
cat file | head -n 98 | tail -n 96|colrm 1 3|colrm 15
Неизвестный
07.11.2008, 14:20
общий
это ответ
Здравствуйте, Belov Peter A!
Пришло в голову такое решение:
cat -nT test.txt | grep -ve ^' 1' | head -n -1 | cut -c 11-21
Не очень элегантноИ я слабо разбираюсь в регэкспах, здесь возможны баги.

- cat выводит строки, нумеруя их.
- grep показывает всё, кроме первой строки, начало которой совпадает с выражением " 1 "
- head обрезает последнюю строчку
- cut показывает нужные колонки (с учетом того, что перед строкой напечатан её номер).

Плюс в том, что должно работать независимо от количества строк в файле.

Приложение:
cat -nT test.txt | grep -ve ^' 1' | head -n -1 | cut -c 11-21
Неизвестный
07.11.2008, 14:36
общий
В тексте ответа почему-то исчезли пробелы, ^' 1' превратилось в ^' 1'. Я добавил строчку в приложение.
Форма ответа