как использовать команду awk или sed ( Команды уровня ОС) на уровне Sybase

У меня есть один текстовый файл на уровне хоста Ex: /tmp/file.txt . Итак, у меня есть один сценарий, и мне нужно построчно читать из file.txt , поэтому я использовал команду sed . Итак, я использую цикл while в скрипте, и я вошел в систему на уровне БД, как я могу использовать команду sed или аналогичную sed для доступа к однострочным данным из file.txt? на уровне базы данных

Пример: sed -n '5p' "/tmp/file.txt" (или) awk 'NR == 5' /tmp/file.txt[12161 sizes Итак, этот вывод я хочу проверить уровень базы данных после команды isql ? Является ли это возможным. Может ли кто-нибудь предложить альтернативу?

0
задан 23 June 2017 в 13:27
2 ответа

Вы, вероятно, ищете Sybase Adaptive Server xp_cmdshell :

Описание

Выполняет команду собственной операционной системы на хосте. система, на которой работает Adaptive Server.

Синтаксис

 команда xp_cmdshell [, no_output]
 

Для ваших команд:

xp_cmdshell 'sed -n 5p /tmp/file.txt'

xp_cmdshell 'awk "NR==5" /tmp/file.txt'

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

0
ответ дан 24 November 2019 в 04:20

Re: Итак, этот вывод я хочу проверить на уровне базы данных после команды isql? Является ли это возможным. Кто-нибудь может предложить альтернативу?

Вы говорите: 1) хотите обработать вывод команды уровня базы данных с использованием синтаксиса сценария оболочки? Или 2) Или взять вывод сценария оболочки и отправить его для обработки в базе данных?

Если 1), есть альтернатива isql, называемая sqsh. Вы можете сделать это с помощью sqsh:

sqsh -SMYSERVER -Dmydb -Umylogin -w180
<mypassword>
select blah_column from blah_table
go |  sed 's/thingy/widget/g'

Если 2), то пусть ваш сценарий оболочки создает команды SQL для вывода и запускает их для базы данных с помощью isql -i (или sqsh -i)

Обратите внимание, при использовании awk в sqsh , быть осторожен. Иногда для знаков доллара требуются дополнительные обратные косые черты

0
ответ дан 24 November 2019 в 04:20

Теги

Похожие вопросы