Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / (памятка) удаление хвостовых пробелов в файле-результате isql / 9 сообщений из 9, страница 1 из 1
10.04.2012, 00:35
    #37746003
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
Нашёл-таки в сети этот способ (трудность была именно с виндузой).

Пусть и тут будет, надеюсь, пригодится кому-нибудь.

Входной .sql-скрипт (файл "f1.sql"):
Код: sql
1.
select first 10 rdb$field_name from rdb$fields;



Для windows :
Код: sql
1.
2.
3.
4.
5.
6.
7.
isql t1.fdb -i f1.sql -o raw_text.txt
@echo off&setlocal enableextensions
for /f "delims=" %%# in (raw_text.txt) do set "word=%%~#"&&call :sub %%word%%
goto :eof
:sub
echo %* >> out_text.txt
:eof

Для linux :
Код: sql
1.
isql t1.fdb -i f1.sql | sed -e "s/ \{1,\}$//" > out_text.txt


Результирующий файл будет содержать только 1 пробел после заключительного символа в каждой строке.
tags: isql remove trailing spaces
...
Рейтинг: 0 / 0
10.04.2012, 05:51
    #37746096
Fktrc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
а если перенаправление записать без пробела между "*" и ">>"
Код: powershell
1.
echo %*>> out_text.txt


то пробелов после заключительного символа в каждой строке вообще не останется
...
Рейтинг: 0 / 0
10.04.2012, 09:53
    #37746216
Dzirt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
ТаблоидНашёл-таки в сети этот способ (трудность была именно с виндузой).
...
Для linux :
Код: sql
1.
isql t1.fdb -i f1.sql | sed -e "s/ \{1,\}$//" > out_text.txt


Есть же sed для Windows... Почему бы его не использовать?
...
Рейтинг: 0 / 0
10.04.2012, 12:51
    #37746667
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
Dzirt,

спасибо, я не знал про него :-)
Скачал, но в довесок пришлось искать libintl3.dll, libiconv2.dll и regex2.dll.
...
Рейтинг: 0 / 0
10.04.2012, 12:53
    #37746672
Таблоид
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
Fktrc,

да, так и есть; вчера экспериментировал с этим - почему-то не прокатило, файл-результат был пустым. Наверное, не та фаза Луны была :-)
...
Рейтинг: 0 / 0
10.04.2012, 13:25
    #37746735
Dzirt
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
ТаблоидDzirt,

спасибо, я не знал про него :-)
Скачал, но в довесок пришлось искать libintl3.dll, libiconv2.dll и regex2.dll.
Тому sed, что в GNU utilities for Win32 не нужны никакие дополнительные библиотеки. Но по сути это не так и важно.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
05.03.2020, 16:15
    #39934765
slj
slj
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
Спасибо, очень нужная вещь.
Подскажите, что и куда дописать, чтобы вместо пробелов ставилась ";" между словами и в конце?
...
Рейтинг: 0 / 0
06.03.2020, 05:30
    #39934999
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
slj
Подскажите, что и куда дописать, чтобы вместо пробелов ставилась ";" между словами и в конце?

Ну я так и знал :)

Потом будет:

- а как не между словами а между полями
- а как закавычить поля
- а как правильно закавычить поля
- а что делать если в поле встречается символ переноса строки

Прокачивать скиллы в скриптинге конечно невредно, но к решению этой задачи это никак не продвигает.

И если бы была озвучена задача - что потом делается с этими данными, и в каком наилучшем виде они нужны (а не в каком получилось), тогда бы и дали более подходящий ответ.
...
Рейтинг: 0 / 0
07.03.2020, 00:14
    #39935339
fraks
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(памятка) удаление хвостовых пробелов в файле-результате isql
slj
Подскажите, что и куда дописать, чтобы вместо пробелов ставилась ";" между словами и в конце?

Если нужно между полей а не между словами - вставляй их прямо в запросе, раз уж клеишь там строку.

Код: plsql
1.
2.
3.
select
  fld1 || ';' || fld2 || ';' as csv_str
from table
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / (памятка) удаление хвостовых пробелов в файле-результате isql / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]