The UNIX and Linux Forums  

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



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

Подробнее UNIX и Linux Темы форума можно найти полезные
Нить Резьба для начинающих Форум Ответы Последнее сообщение
Perl: Поиск строки в строку поиска и замены текста Crypto Shell программирование и сценарии 4 01-04-2008 10:24 AM
Необходимо заменить все вхождения строки поиска, используя SED mjs3221 Shell программирование и сценарии 2 12-07-2006 02:09 AM
String Поиск И Заменить IwishIknewC UNIX для чайников Вопросы И Ответы 1 03-25-2006 06:28 AM
Поиск и замена строки между 2 балла whited05 Shell программирование и сценарии 3 10-11-2005 03:05 PM
Строка поиска замены Кришна UNIX перспективных И опытных пользователей 1 12-19-2001 01:49 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 04-10-2008
gstuart gstuart is offline
Зарегистрированный пользователь
  
 

Регистрация: Apr 2008
Сообщений: 16
Поиск заменить строку в file1 со строкой из (таблицы поиска) file2?

Привет: У меня еще один вопрос. Пожалуйста, обратите внимание на следующие два образца, табуляцией файлов:

File_1:

Abf1 YKL112w
Abf1 YAL054c
Abf1 YGL234w
Ace2 YKL150w
Ace2 YNL328c
Cup9 YDR441c
Cup9 YDR442w
Cup9 YEL040w
...


Файл 2:

...
ABF1 YKL112W
ACE2 YLR131C
CUP9 YPL177C
...

File_2 является "таблицы поиска;" Я хочу заменить $ 1 в File_1 соответствие с $ 2 места в File_2, дополнительно добавив средний столбец, содержащий строку "TF", а в колонке "них" ( "1" в первой колонке состоянии), все табуляции.

Кроме того, было бы идеальным, если дело может быть проигнорированы для поиска / замены, но что алфавитном выходных, все заглавные [AZ] преобразуются в [AZ].

Правила посещения, эти гены дрожжей, а в дополнение к цифр и букв, некоторые из генов будет содержать дефисы (например, YBR162W-A), но никто не будет содержать запятые, запятой, пробелы и т.д.

Результат File_3:

1 YKL112W TF YKL112W
1 YKL112W TF YAL054C
1 YKL112W TF YGL234W
1 YLR131C TF YKL150W
1 YLR131C TF YNL328C
1 YLR131C TF YLR439W
1 YPL177C TF YDR441C
1 YPL177C TF YDR442W
1 YPL177C TF YEL040W
...

Это связано с (но отличается от) моих предыдущих запросов,

Молекулярный биолог требуется помощь Re: Поиск / заменить сценарий

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

1, Г. И. Б
1, стр. а
1, стр. C
1 T U GI
1 т ги W
1 т ги х
1 т с Z
2 С. D
2 С. Е
2 т Г.И. V
2 т Г.И. Z
3 стр. Б
3 т Г.И. Y
...

В конце концов, я закончу с файлом, как это, с $ 1 \u003d вес, $ 2 \u003d gene1, $ 3 \u003d ассоциации, $ 4 \u003d gene2:


1 YKL112W TF YKL112W
1 YKL112W TF YAL054C
1 YKL112W TF YGL234W
1 YLR131C TF YKL150W
1 YLR131C TF YNL328C
1 YLR131C TF YLR439W
1 YPL177C TF YDR441C
1 YPL177C TF YDR442W
1 YPL177C TF YEL040W
...
1 YBL012C Г.И. YCL045C
1 YBL012C С. YBL012C
5 YBL012C С. YHR039C-A
1-А YLR363W Г.И. YNL143C
4 YLR363W-А Г. И. YPR123C
1-А YLR363W Г.И. YLR467W
1-А YLR363W С. YNR073C
2 YBL012C С. YGL232W
2 YBL012C С. YOR102W
2 YLR363W-А Г. И. YFL066C
2 YLR363W-А Г. И. YNR073C
3 YBL012C С. YCL045C
3 YLR363W-А Г. И. YKL100C
...

Благодарю Вас - еще раз * * очень ценим!

С уважением, Грег С. :-)
Old 04-11-2008
Franklin52 Franklin52 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2007
Сообщения: 4342
Цитата:
Первоначально Послано gstuart View Post
Привет: У меня еще один вопрос. Пожалуйста, обратите внимание на следующие два образца, табуляцией файлов:

File_1:

Abf1 YKL112w
Abf1 YAL054c
Abf1 YGL234w
Ace2 YKL150w
Ace2 YNL328c
Cup9 YDR441c
Cup9 YDR442w
Cup9 YEL040w
...


Файл 2:

...
ABF1 YKL112W
ACE2 YLR131C
CUP9 YPL177C
...

File_2 является "таблицы поиска;" Я хочу заменить $ 1 в File_1 соответствие с $ 2 места в File_2, дополнительно добавив средний столбец, содержащий строку "TF", а в колонке "них" ( "1" в первой колонке состоянии), все табуляции.

Кроме того, было бы идеальным, если дело может быть проигнорированы для поиска / замены, но что алфавитном выходных, все заглавные [AZ] преобразуются в [AZ].

Правила посещения, эти гены дрожжей, а в дополнение к цифр и букв, некоторые из генов будет содержать дефисы (например, YBR162W-A), но никто не будет содержать запятые, запятой, пробелы и т.д.

Результат File_3:

1 YKL112W TF YKL112W
1 YKL112W TF YAL054C
1 YKL112W TF YGL234W
1 YLR131C TF YKL150W
1 YLR131C TF YNL328C
1 YLR131C TF YLR439W
1 YPL177C TF YDR441C
1 YPL177C TF YDR442W
1 YPL177C TF YEL040W
...
Это должно дать желаемый результат:


Код:
 awk '
FNR==NR{a[tolower($1)]=$2;next} 
tolower($1) in a{print "1 " a[tolower($1)] " tf " toupper($2)}
' "File_2" "File_1"

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

Регистрация: Apr 2008
Сообщений: 16
Это совершенно замечательно! ... :-)

Вот мое понимание Franklin52 код:

Unix Инструкции - AWK Справка

# \u003d\u003d Это "равно"

tolower (строка): Возвращает строку со всеми прописными буквами заменить их эквиваленты в нижнем регистре.

toupper (строка): Возвращает строку со всеми строчными буквами заменить их эквиваленты верхнем регистре.

ПЧН: Рекорд количества входных файлов.

NR: количество обрабатываемых записей.

Таким образом, скрипт преобразует (? - Пожалуйста, исправьте меня, если я ошибаюсь), как

AWK '
ПЧН NR \u003d\u003d (A [tolower ($ 1)] \u003d $ 2;) следующая

Несмотря на то, что рекордное количество (линия) равно общее число записей (это так), все из следующих:
получить $ 1 (общее название гена - преобразуются в нижний - поскольку требуется соответствующее поле в нижнем File_1 это, иначе она не сможет "Матч" - это Linux буквы) в Поиск файлов (File_2), комплект (изменить ) к (уже в верхнем регистре) систематический гена имя ($ 2) в одной и той же таблицы поиска, а затем прочитайте следующий номер записи (строки);

tolower ($ 1) в печатных ( "1" A [tolower ($ 1)] "TF" toupper ($ 2))

Теперь, за каждый $ 1 в File_2 (в настоящее время установлен в верхнем регистре $ 2, из таблицы поиска), во втором файле (File_1, тот будет преобразован), печать
"1", $ 2 File_2; "TF", $ 2 File_1 (вернулся, как заглавными буквами, чтобы преобразовать трейлинг нижнего C, W,-а и т.д.)

"File_2" "File_1"

File_1 \u003d файл для обработки (в пересчете)
File_2 \u003d "Поиск файлов" ( "common_to_systematic.tab)

?!


Это работает прекрасно!! Большое вам спасибо, Franklin52!!

Есть супер выходные! ... Грег :-)
Old 02-06-2009
RickR RickR is offline
Зарегистрированный пользователь
  
 

Регистрация: Февраль 2009
Сообщений: 1
Переименование нескольких файлов из таблицы поиска

Можно ли изменить сценарий выше переименовывать файлы, основанные на поиске стол?

например:
Нынешние новые
A87324.jpg A1372365.jpg
A89732.jpg A98274.jpg
A130347.jpg A73689.jpg
...

Спасибо,

Рик
Old 06-07-2009
aenagy aenagy is offline
Зарегистрированный пользователь
  
 

Регистрация: июнь 2009
Сообщений: 1
Цитата:

Код:
 
awk 'FNR==NR{a[tolower($1)]=$2;next} tolower($1) in a{print "1 " a[tolower($1)] " tf " toupper($2)}' "File_2" "File_1"

Я пытаюсь изменить код выше аналогичной ситуации. У меня есть два входных файлов. Первый файл (Datastores) является CSV с дружественными имен в первой колонке и UUIDs во второй колонке. Второй файл (ЗИС) представляет собой список файлов с полным путем использования UUID. Например:

----- ----- Datastores.csv
понятное имя 1, UUID1
понятное имя 2, UUID2
понятное имя 3, UUID3
и т.д.
----- ----- Datastores.csv

----- ----- VMs.txt
/ folder/UUID3/vm1.vmx
/ folder/UUID2/vm2.vmx
/ folder/UUID1/vm3.vmx
/ folder/UUID3/vm4.vmx
и т.д.
----- ----- VMs.txt

Что я ищу вывод, что это выглядит так:

Output.txt ----- -----
/ папки / понятное имя 3/vm1.vmx
/ папки / понятное имя 2/vm2.vmx
/ папки / понятное имя 1/vm3.vmx
/ папки / понятное имя 3/vm4.vmx
и т.д.
Output.txt ----- -----

Проба AWK не является интуитивно понятным для меня, даже после прочтения другим мотивам, и собирается в течение O'Rielly карман ведения. В случае любого вклада не должен быть изменен, - если есть проблемы с случае соответствия тогда я и другие вопросы для рассмотрения.

Спасибо за вашу помощь заранее.
Old 02-06-2009
vgersh99's Avatar
vgersh99 vgersh99 is offline Forum Staff  
Модератор
  
 

Регистрация: Февраль 2005
Место: Boston, MA
Сообщения: 5131

Код:
#!/bin/ksh

while read current new x
do
   mv "${current}" "${new}"
done < /path/to/lookupFile

Old 05-23-2009
allrise123 allrise123 is offline
Зарегистрированный пользователь
  
 

Регистрация: Май 2009
Сообщений: 9
привет ребята!!

Я новичок в оболочке скрипт .. Я хотел бы знать, Abt SED команда и как она работает?

Вот что я хочу делать, я хочу к поиску оригинальных export.txt строку в файл, который является:
экспорт MIBS \u003d \ OPT \ mymibs \

Я хотел бы заменить ее
экспорт MIBS \u003d \ OPT \ new_mibs \

Пожалуйста, помогите с ней

заранее спасибо

Последний раз редактировалось allrise123; на 05-23-2009 05:17 PM..
Closed Thread

Закладки

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

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

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

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




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