The UNIX and Linux Forums  


Go Back   В UNIX и Linux Форумы > Топ форумы > UNIX для чайников Вопросы И Ответы
.
Google unix.com



UNIX для чайников Вопросы И Ответы Если вы не уверены в том, где разместить UNIX или Linux вопрос, задайте его здесь. Все UNIX и Linux приветствуем новичков!!

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
используя foreach петля sam4now Shell программирование и сценарии 6 04-26-2008 12:22 PM
Foreach петля haze21 Shell программирование и сценарии 4 11-16-2007 03:11 AM
foreach папки eltinator Shell программирование и сценарии 7 08-13-2007 03:37 AM
foreach / grep поможет! JimWork Shell программирование и сценарии 6 07-27-2007 05:25 PM
foreach команда?! geoquest UNIX для чайников Вопросы И Ответы 5 05-20-2002 06:11 PM

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 11-19-2008
asulli01 asulli01 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 6
foreach заявление в KSH

Привет,
Мой сценарий должен работать на всех subdirs рекурсивно в SUBDIR_LIST, запустить ClearCase команда в каждом subdir, печать на merge_results1.txt и добавить новую строку с результатами перед переходом к следующему subdir. Все результаты должны приложить к merge_results1.txt, но они разделены линией так легче читать.


Может ли кто-нибудь помочь мне с foreach заявление?


#! / USR / BIN / KSH
/ USR / Atria / бен / cleartool startview a442592_merge_diff_2.0to2.5

CD / view/a442592_merge_diff_2.0to2.5/vobs_jil

SUBDIR_LIST \u003d `LS-D ФМР *`


# для всех subdirs запустить печать объединить команду и добавить новую строку в # merge_results1.txt

Для каждого $ () SUBDIR_LIST

/ USR / Atria / бен / cleartool findmerge. -fver .../strutsplus-2.0_bos/LATEST печати> / home/a442592/merge_results1.txt

# цикл заканчивается

CAT / home/a442592/merge_results1.txt | SED 'S / потребностей слияния / / G' | SED 'S / "/ / G' | светотеневую D [-f1> / home/a442592/merge_results2.txt

Кошка ~ / merge_results2.txt | mailx-R <форма электронной почты>-S 'Sync объединить между 2.0 и 2.5' <to e-mail>

Спасибо
Old 11-19-2008
Franklin52 Franklin52 is online now Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4333
Синтаксис для петель на это:


Код:
for file in `ls -d fmr*/`; do
  #
  # do your stuff here with "$file"
  #
done

Привет
Old 11-25-2008
asulli01 asulli01 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 6
Привет.
Это работает - спасибо.

Моя задача сейчас заключается в том, что каждый раз он проходит через петлю она добавляется строка, которая является OK, если есть выход. Моя проблема заключается в том, что сейчас я получаю 3 до 4 пустых строк, так что я теперь необходимо положить заявление, если говорить, если пустая строка уже не добавить еще один.

Знаете ли вы о том, как это сделать?

CODE:
SUBDIR_LIST \u003d `LS-D ФМР *`
для DIR в `LS-D ФМР *`; делать
/ USR / Atria / бен / cleartool findmerge $ DIR-fver .../strutsplus-2.0_bos/LATEST печати>> / home/a442592/merge_results1.txt
эхо>> / home/a442592/merge_results1.txt "\ N"
готово
CAT / home/a442592/merge_results1.txt | SED 'S / потребностей слияния / / G' | SED 'S / "/ / G' | светотеневую D [-f1> / home/a442592/merge_results2.txt


Спасибо
Анжела
Old 11-25-2008
Franklin52 Franklin52 is online now Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4333
Что означает эта команда?


Код:
echo >> /home/a442592/merge_results1.txt "\n"

У вас есть желаемых результатов, если вы удалите эту команду?
Если нет, пост содержание merge_results1.txt и желаемых результатов.

Привет
Old 11-25-2008
asulli01 asulli01 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 6
Петли хранит добавить в один и тот же файл, чтобы повторить команду добавляет линию между собой петлями. Если я удалю ее, я ничего не Сепараторы линии.

Это то, что я получаю сейчас (с помощью "Эхо ...'):

___________________________________________

fmr-aspects/docs/pub/AspectJ-Policy-Enforcement-User-Guide.doc
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/FMRCommonsSSMCTest.java
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/TestAll.java


fmr-commons-admin/docs/pub/fmr-admin.doc
fmr-commons-admin/src/java/com/fmr/commons/admin/services/jca/JcaFactorySpec.java


fmr-commons-catalog/docs/pub








fmr-commons-cs203/build.properties
fmr-commons-cs203/old_build.xml
fmr-commons-cs203/src/main/java/com/fmr/commons/cs203/utils/CS203Constants.java
fmr-commons-cs203/src/test/java/com/fmr/commons/cs203/validator/CoreValidatorTest.java


fmr-commons-hacp/docs/TSD-FMR-COMMONS-HACP.doc
fmr-commons-hacp/scripts/hacp-build.xml
fmr-commons-hacp/src/test/config/log4j.xml

__________________________________________

В пространстве между должна быть только одна линия, но мой код добавляет строку, независимо от каких-либо выхода из цикла. Так что я хочу сказать, что если одна пустая строка уже существует Dont добавить другую.

Что она должна выглядеть это:

___________________________
fmr-aspects/docs/pub/AspectJ-Policy-Enforcement-User-Guide.doc
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/FMRCommonsSSMCTest.java
fmr-aspects/jil-usage-policies-test/src/com/fmr/commons/aspectj/policy/TestAll.java

fmr-commons-admin/docs/pub/fmr-admin.doc
fmr-commons-admin/src/java/com/fmr/commons/admin/services/jca/JcaFactorySpec.java

fmr-commons-catalog/docs/pub

fmr-commons-cs203/build.properties
fmr-commons-cs203/old_build.xml
fmr-commons-cs203/src/main/java/com/fmr/commons/cs203/utils/CS203Constants.java
fmr-commons-cs203/src/test/java/com/fmr/commons/cs203/validator/CoreValidatorTest.java

fmr-commons-hacp/docs/TSD-FMR-COMMONS-HACP.doc
fmr-commons-hacp/scripts/hacp-build.xml
fmr-commons-hacp/src/test/config/log4j.xml

__________________________

Спасибо
Анжела
Old 11-26-2008
Franklin52 Franklin52 is online now Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4333
Это трудно, если вы не знаете, когда ваша команда создает пустую строку.
Вы можете удалить все emptylines от вашего выхода с:


Код:
sed '/^$/d' file > newfile

Привет
Old 11-26-2008
asulli01 asulli01 is offline
Зарегистрированный пользователь
  
 

Регистрация: Nov 2008
Сообщений: 6
Привет,
Также не совсем то, что мне нужно вызывать я еще 1 пустая строка.

Я нашел - он удаляет дубликаты, последовательных линий
AWK 'а! ~ $ 0; (A \u003d $ 0)'


Вы знаете, как изменить его удалить только 1 из дублирующих линий?

спасибо
Closed Thread

Закладки

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

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

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

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




Часовой пояс GMT -4. Текущее время 07:52 AM.


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