![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Ли файл обновления или нет | raj333 | Shell программирование и сценарии | 2 | 11-05-2007 05:29 PM |
| Обновление файлов в петле | braindrain | Shell программирование и сценарии | 4 | 06-20-2007 02:37 PM |
| Почему у меня не SAR обновления выходного файла. | skneeli | UNIX перспективных И опытных пользователей | 1 | 11-12-2006 08:29 PM |
| Обновление файлов в ZIP Archive | dbridle | AIX | 6 | 09-27-2006 04:29 PM |
| передачи и обновления файлов по сети | Бхакти | Программирования высокого уровня | 1 | 09-21-2005 03:10 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Привет,
В scenerio состоит в том, что я хочу заменить текст в одной строке файла. Но когда я с помощью SED его заменить все вхождения этого текста. Как и в файл: > кота тест DNGGF10: Нет: тест DNGGF11: ABC: Тест1 DNGGF12: Нет: Тест2 DNGGF13: Нет: Test3 Я написал следующий код для этого: -- > кота сценарий NAME \u003d $ 1 SED "S /` grep DNGGF10 тест | светотеневую D ':'-f2 `/ $ 1 /" тест> test.chk Но при выполнении кода, как . / скрипт йогом Затем я получаю O / P в test.chk как: > кота test.chk DNGGF10: йога: тест DNGGF11: ABC: Тест1 DNGGF12: йога: Тест2 DNGGF13: йога: Test3 Но я хочу replce второе поле только в том, что строка, которая содержит DNGGF1O то есть 1-й line.Also пространство общей sapce во втором поле также не должны получать изменили. Пожалуйста, пролил некоторый свет на это. Спасибо - Йога Последний раз редактировалось bisla.yogender; на 03-24-2008 09:27 AM.. |
|
||||
|
Является ли это, что вы ищете? Код:
sed "/DNGGF10/s/None/$1/" test > test.chk Привет |
|
||||
|
Спасибо, я получил от моего намека здесь. Я изменил мое код:
SED "/ DNGGF10 / S /` grep DNGGF10 тест | светотеневую D ':'-f2 `/ $ 1 /" тест> test.chk Теперь я в состоянии заменить текст только что paritucular линии в пространстве, но после Никто до сих пор получаю изменили которых не должно произойти. Линия до замены текста: DNGGF10: Нет: Test (4 пространств после отсутствуют) После запуска скрипта. / Скрипт ABC DNGGF10: ABC: тест Несмотря на то, что должно быть пять пространств после ABC. Просьба предложить. Привет, Йога |
|
||||
|
Если вы хотите исправить столбцы можно использовать AWK: Код:
awk -v var=$1 '
BEGIN{FS=OFS=":"}
/DNGGF10/{$2=sprintf("%-8s", var)}1
' test > test.chk
Использование nawk / или usr/xpg4/bin/awk на Solaris. Привет |
|
||||
|
Код:
sed '/DNGGF10/s/\(.*\) \(.*\) \(.*\)/\1 :\1 \3/' test >test.chk |
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|