![]() |
Здравствуйте и добро от Соединенных Штатов UNIX и Linux Форумы! Благодарим Вас за посещение и вступления нашей мирового сообщества.
|
|
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 |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Как отправить файла в качестве переменной в скрипте
Можем ли мы можем передавать имя файла в качестве переменной в оболочке сценарий.
Отправка файла в качестве параметра файл, скрипт оболочки принимает имя файла, нужно заменить строку, содержащую имя файла с переменными в скрипте оболочки. 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 файл. Надежда сценарий ясен и любое решение, это высоко оценили. Спасибо. |
|
||||
|
Что вы имеете в виду, заменив файл .. Вы хотите скопировать или переименовать это ..?
|
|
||||
|
Я получаю разные файлы с разными именами файлов в день. Эти файлы должны быть загружены с помощью утилиты sqlldr.
Имя файла в файл установлен на 'testing.csv ". Вместо того, чтобы изменять файл каждый день, я пытаюсь установить имя файла в качестве переменных через скрипт и передать это имя в качестве переменной заменить строку в файл с testing.csv к переменной, которая является не чем иным, как имя файла. |
|
||||
|
так что вы просто хотите сделать что-то вроде этого:
Код:
my_new_file=todays_file.csv
sqlldr file=${my_new_file} control=comma_sep.ctl
|
|
||||
|
Фактически контроль файл содержит информацию о файле, как показано на рисунке. Контроль файл должен быть изменен.
# test1.ctl LOAD DATA INFILE 'testing.csv' ............ В приведенном выше test1.ctl, мы должны заменить testing.csv по имени файла, который мы передаем в качестве параметра из корпуса сценарий. |
|
||||
|
Почему? В 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
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|