The UNIX and Linux Forums  
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.

Go Back   В UNIX и Linux Форумы > Топ форумы > Shell программирование и сценарии
.
Google unix.com



Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь.

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Нужна помощь в поиске строк и отправить по электронной почте, используя скрипт оболочки ranga27 Shell программирование и сценарии 10 02-19-2008 05:54 PM
Как написать скрипт, чтобы отправить письмо с ID madhumathikv Shell программирование и сценарии 4 10-23-2007 05:19 PM
Unix оболочки сценарий Отправить SMS sdcoms UNIX перспективных И опытных пользователей 1 05-16-2007 11:01 AM
Shell скрипт для отправки по электронной почте оповещения дамп rtatineni SUN Solaris 1 08-17-2006 02:33 PM
Написать письмо в Shell скрипт annelisa Shell программирование и сценарии 1 07-13-2006 07:35 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered By Powered by Google
 
LinkBack Резьба Инструменты Искать в этом Thread Оценить Thread Режимы дисплея
Old 06-26-2006
gthokala9 gthokala9 is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Сообщений: 5
Как отправить файла в качестве переменной в скрипте

Можем ли мы можем передавать имя файла в качестве переменной в оболочке сценарий.
Отправка файла в качестве параметра файл, скрипт оболочки принимает имя файла, нужно заменить строку, содержащую имя файла с переменными в скрипте оболочки.

EX: test1.sh это скрипт оболочки file1.csv и принимает в качестве параметра файл. Затем file1.csv должен быть заменен на test1.ctl файл, где файл содержит INFILE вариант принятия в качестве test1.csv

Из командной строки выполните
test1.sh file1.csv

# Возьми file1.csv файл и заменит его в test1.ctl

# test1.ctl
LOAD DATA
INFILE 'testing.csv'
......
......

Здесь testing.csv должно быть заменено на "test1.csv" в test1.ctl файл. Надежда сценарий ясен и любое решение, это высоко оценили. Спасибо.
Old 06-26-2006
Ambikesh Ambikesh is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2006
Откуда: California
Сообщений: 45
Что вы имеете в виду, заменив файл .. Вы хотите скопировать или переименовать это ..?
Old 06-26-2006
gthokala9 gthokala9 is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Сообщений: 5
Я получаю разные файлы с разными именами файлов в день. Эти файлы должны быть загружены с помощью утилиты sqlldr.
Имя файла в файл установлен на 'testing.csv ". Вместо того, чтобы изменять файл каждый день, я пытаюсь установить имя файла в качестве переменных через скрипт и передать это имя в качестве переменной заменить строку в файл с testing.csv к переменной, которая является не чем иным, как имя файла.
Old 06-26-2006
tmarikle tmarikle is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Январь 2005
Сообщений: 683
так что вы просто хотите сделать что-то вроде этого:
Код:
my_new_file=todays_file.csv
sqlldr file=${my_new_file} control=comma_sep.ctl
Правильно?
Old 06-26-2006
gthokala9 gthokala9 is offline
Зарегистрированный пользователь
  
 

Регистрация: Июнь 2006
Сообщений: 5
Фактически контроль файл содержит информацию о файле, как показано на рисунке. Контроль файл должен быть изменен.

# test1.ctl
LOAD DATA
INFILE 'testing.csv'
............



В приведенном выше test1.ctl, мы должны заменить testing.csv по имени файла, который мы передаем в качестве параметра из корпуса сценарий.
Old 06-26-2006
tmarikle tmarikle is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Январь 2005
Сообщений: 683
Почему? В sqlldr "данные \u003d" в командной строке параметр переопределяет параметр INFILE. Кроме того, вы можете просто удалить его из файла с использованием всего VI.

Но если вы действительно хотите сделать это таким образом, чтобы вы описали, вы можете использовать SED.

Код:
sed -e "s/\(INFILE \).*/\1'newfile.csv'/" yourcontrolfile.ctl > newcontrolfile.ctl
или более конкретно:
Код:
sed -e "s/\(INFILE \).*/\1'${YOURVARIABLE}'/" yourcontrolfile.ctl > newcontrolfile.ctl
Closed Thread

Закладки

Резьба Инструменты Искать в этом Thread
Искать в этом Thread:

Расширенный поиск
Режимы дисплея Оценить эту ветку
Оценить эту ветку:

Отправка Правила
Вы не может Начать новую нитей
Вы не может Почтовые ответы
Вы не может Почтовые вложения
Вы не может Редактировать Ваши сообщения

BB код быть На
Смайлики являемся На
[IMG] код На
HTML-код Вне
Trackbacks являемся На
Pingbacks являемся На
Refbacks являемся На




Часовой пояс GMT -4. Текущее время 02:04 PM.


Powered By: Справка, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Язык Переводы на питание от .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
В UNIX и Linux форумы Содержание Copyright © 1993-2009. Все права Reserved.Ad управления по RedTyger

Содержание соответствующие URL-адреса в vBSEO 3.2.0