The UNIX and Linux Forums  

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
двойная переменная декларации kotasateesh Shell программирование и сценарии 3 08-31-2007 06:29 AM
Побег Букв двойным цитатой navik_pathak Shell программирование и сценарии 1 01-05-2007 02:34 PM
одноместные и двухместные цитатой в SED Асами Shell программирование и сценарии 2 07-17-2006 04:03 AM
Двойные кавычки в переменную burton_1080 Shell программирование и сценарии 4 12-01-2005 01:44 PM
двойная замена переменной asal_email2 UNIX для чайников Вопросы И Ответы 1 06-14-2005 01: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 03-17-2008
mattemp mattemp is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 2
Проблема с двойными цитатой строка и переменная

Здравствуйте,

У меня есть файл output.txt, который содержит одну строку со списком файлов в кавычки:
"file1.ext" "file2.ext" "file3.ext"

В скрипт, я хочу, чтобы получить линию и использовать его в качестве переменной в команду:
ZIP archive.zip $ СПИСОК

Я наклоняю получить работу. Когда я физически введите команду ZIP archive.zip "file1.ext" "file2.ext" "file3.ext", он работает просто отлично, но когда я пытаюсь использовать строки переменной я получаю сообщение об ошибке.

Существует ли правильный способ сделать это?
Спасибо!
Old 03-17-2008
эпоха
Гость
  
 

Сообщений: N / A
Биты: 0 [Банковские]
Когда вы набираете в командной строке, в двойные кавычки, не передается в ZIP. Если вы используете скрипт (показать это!), А затем, если она проходит в кавычки, чтобы ZIP видит их, прекратить делать это.

Если у вас есть контроль над вещью, которая генерирует выходной файл, сделайте его использование менее смешной форме. Посмотрите, как xargs это, что, наверное, хорошей моделью для вас.
Old 03-17-2008
KevinADC KevinADC is offline Forum Advisor  
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Сообщений: 731
Цитата:
У меня есть файл output.txt, который содержит одну строку со списком файлов в кавычки:
"file1.ext" "file2.ext" "file3.ext"
откройте файл и удалите кавычки, если у вас нет контроля над форматом файла. Затем разделить поля на пространстве создать список файлов, чтобы прокормить на почтовые функции.

Почтовые ваш текущий код (или просто соответствующую часть) для получения дополнительных сведений.
Old 03-17-2008
mattemp mattemp is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 2
Цитата:
Первоначально Послано KevinADC View Post
откройте файл и удалите кавычки, если у вас нет контроля над форматом файла. Затем разделить поля на пространстве создать список файлов, чтобы прокормить на почтовые функции.

Почтовые ваш текущий код (или просто соответствующую часть) для получения дополнительных сведений.
Вот часть моего сценария, где я нужен мой список файлов:

Код:
LIST=$(tail -1 $FILE)
cvs log -N -r$rev1:$rev2 $LIST > changelog.txt

Мой файл выглядит так:

Код:
"java/file1.java" "java/file2.java" "java/file3.java" "java/file4.java" "java/file5.java"

Это выход из обработки XSLT, так у меня есть контроль над ней. Я могу создать файл, который выглядит так, без кавычек, и мой скрипт работает прекрасно:

Код:
java/file1.java java/file2.java java/file3.java java/file4.java java/file5.java

Но я хотел бы оберните вокруг файлов котировки в случае, если некоторые из файлов, содержащих whitespaces.

Так может быть, я должен работать только на моей таблицы стилей, чтобы избежать whitespaces в именах файлов?
Old 03-18-2008
эпоха
Гость
  
 

Сообщений: N / A
Биты: 0 [Банковские]
Или, если у вас есть возможность, сделать это один файл на строку (и беспокоиться об именах файлов с новой строки в них вместо ...).

xargs имеет возможность пользоваться нулевым (ASCII 0x00) терминаторе для данного конкретного случая. (Nulls и слэши являются только два символа, которые запрещены в каталоге вход имена.)
Old 03-18-2008
yunccll yunccll is offline
Зарегистрированный пользователь
  
 

Регистрация: Mar 2008
Сообщений: 23
Если вы хотите сделать эту работу со сценарием, вы можете попробовать код следующим образом:

Код:
#!/bin/bash

INFILE=output.txt

#replace the double quote with space
LIST=$(sed -e 's/\"/ /g' $INFILE)

zip archive.zip $LIST

exit 0

Old 03-19-2008
faltooweb faltooweb is offline
Зарегистрированный пользователь
  
 

Регистрация: Январь 2008
Сообщений: 11
Проблема с двойными цитатой строка и переменная

Вот быстрого решения для вашего скрипта

СПИСОК \u003d $ (-1 $ гузки ФАЙЛОВ)
CVS журнал-N-R $ REV1: $ rev2 $ ($ EVAL СПИСОК)> changelog.txt

-Рамеш
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 03:46 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