The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Вывести строку без последнего символа"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Вывести строку без последнего символа" 
Сообщение от San emailИскать по авторуВ закладки(??) on 30-Ноя-05, 13:01  (MSK)
Есть текстовый файлик вида

переменная1,переменная2,переменная3,
переменная4,переменная5,переменная6,
переменная7,переменная8,переменная9,

Надо поудалять последние запятые в каждой строке.
Как бы это поэлегантнее сделать?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]

1. "Вывести строку без последнего символа" 
Сообщение от m Искать по авторуВ закладки(??) on 30-Ноя-05, 13:05  (MSK)
may be : sed -r 's/(.*),$/\1/'
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "Вывести строку без последнего символа" 
Сообщение от San emailИскать по авторуВ закладки(??) on 30-Ноя-05, 15:56  (MSK)
>may be : sed -r 's/(.*),$/\1/'

Под SCO у меня оно. Под 7.1.3

на "-r" ругается:
UX:sed: ERROR: Illegal option -- r

А если без "-r", то:
cat file.txt | sed 's/(.*),$/\1/'
UX:sed: ERROR: Command garbled: s/(.*),$/\1/

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "Вывести строку без последнего символа" 
Сообщение от madskull Искать по авторуВ закладки(ok) on 30-Ноя-05, 15:57  (MSK)
>may be : sed -r 's/(.*),$/\1/'
а может, все-таки
sed 's/.$//'
  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "Вывести строку без последнего символа" 
Сообщение от dimcha emailИскать по авторуВ закладки(??) on 30-Ноя-05, 18:18  (MSK)
>>may be : sed -r 's/(.*),$/\1/'
>а может, все-таки
>sed 's/.$//'

хорошее решение

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "Вывести строку без последнего символа" 
Сообщение от San emailИскать по авторуВ закладки(??) on 02-Дек-05, 07:58  (MSK)
>>may be : sed -r 's/(.*),$/\1/'
>а может, все-таки
>sed 's/.$//'

А вот это - идеальное решение!
Работает везде! Спасибо!

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "Вывести строку без последнего символа" 
Сообщение от dimcha emailИскать по авторуВ закладки(??) on 30-Ноя-05, 14:01  (MSK)
>Есть текстовый файлик вида
>
>переменная1,переменная2,переменная3,
>переменная4,переменная5,переменная6,
>переменная7,переменная8,переменная9,
>
>Надо поудалять последние запятые в каждой строке.
>Как бы это поэлегантнее сделать?

$ cat file | perl -lane 'chomp; $s = $_; $s = $1 if $s =~ /^(.*)[,]$/; print $s . "\n";' > file2

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "Вывести строку без последнего символа" 
Сообщение от San emailИскать по авторуВ закладки(??) on 30-Ноя-05, 15:57  (MSK)
>>Есть текстовый файлик вида
>>
>>переменная1,переменная2,переменная3,
>>переменная4,переменная5,переменная6,
>>переменная7,переменная8,переменная9,
>>
>>Надо поудалять последние запятые в каждой строке.
>>Как бы это поэлегантнее сделать?
>
>$ cat file | perl -lane 'chomp; $s = $_; $s = $1 if $s =~ /^(.*)[,]$/; print $s . "\n";' > file2

А можно не прибегая к перлу?
На чистом bash-скрипте?

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "Вывести строку без последнего символа" 
Сообщение от vnp emailИскать по авторуВ закладки(ok) on 02-Дек-05, 02:34  (MSK)
>На чистом bash-скрипте?


while read; do echo ${REPLY%,}; done < file

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "Вывести строку без последнего символа" 
Сообщение от San emailИскать по авторуВ закладки(??) on 02-Дек-05, 07:56  (MSK)
>>На чистом bash-скрипте?
>
>
>while read; do echo ${REPLY%,}; done < file

Спасибо! Это заработало!
Правда только на редхате, а на SCO видимо bash более древний и не работает как надо.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "Вывести строку без последнего символа" 
Сообщение от mezantrop Искать по авторуВ закладки(??) on 30-Ноя-05, 17:40  (MSK)
>Есть текстовый файлик вида
>
>переменная1,переменная2,переменная3,
>переменная4,переменная5,переменная6,
>переменная7,переменная8,переменная9,
>
>Надо поудалять последние запятые в каждой строке.
>Как бы это поэлегантнее сделать?
$ cat test.txt
v1,v2,v3,
v4,v5,v6,
v7,v8,v9,

$ cut -f1,2,3 -d, test.txt
v1,v2,v3
v4,v5,v6
v7,v8,v9

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "Вывести строку без последнего символа" 
Сообщение от San emailИскать по авторуВ закладки(??) on 01-Дек-05, 12:16  (MSK)
>>Как бы это поэлегантнее сделать?
>$ cat test.txt
>v1,v2,v3,
>v4,v5,v6,
>v7,v8,v9,
>
>$ cut -f1,2,3 -d, test.txt
>v1,v2,v3
>v4,v5,v6
>v7,v8,v9

Работает, но если количество переменных в строках будет разным, то облом.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру