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

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

Входной .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
(памятка) удаление хвостовых пробелов в файле-результате isql
    #37746096
Fktrc
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если перенаправление записать без пробела между "*" и ">>"
Код: powershell
1.
echo %*>> out_text.txt


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


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

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

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

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

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

Потом будет:

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

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

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

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

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


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