LINUX.ORG.RU
ФорумAdmin

Разбор строки с помощью sed

 ,


0

1

Приветствую!

Есть строка (файл с неким количеством строк) типа: параметр1,параметр2,параметр3,параметр29

С помощью sed удается получить первый параметр через: sed 's|,.*||' И последний параметр: sed 's|.*,||'

Но не понимаю, как получить только 2 или только 3 параметр? Понятное дело, что можно дважды обработать строку первым запросом и получить второе значение и так далее по необходимому числу раз. А возможно-ли получить результат более простым путём?


 sed -e '1,3d' -e '5d' -e 's/ ([^)]*),*//g'

Ты хоть пример приведи как делаешь, а то одна вода.

anonymous
()

Это домашнее задание или реальная необходимость? Если второе, то зачем нужен sed, когда есть awk/gawk?

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

Ну или cut, если все совсем просто.

anonymous
()

не понимаю, как получить только 2 или только 3 параметр?

Зачем sed-ом делать то, что идеально делает awk?

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

Это если сеть 1 и 2.

В моем случае, хотел показать, что файл имеет в качестве разделителя запятые и запятыми разделены разные «слова» =)

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

Уперся в sed ...

Даже awk в твоём случае «с горкой». Смотри также cut.

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