BSDPORTAL.RU

На этом сайте обсуждаются вопросы использования ОС FreeBSD
 Портал  •  Статьи  •  Форум  •  Wiki  •  Поиск  •  FAQ  •  Обои  •   Официальная документация  •  Новые темы 

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 10:19 pm 
Не в сети

Зарегистрирован: Вс 08 мар, 2015 11:31 am
Сообщения: 159
Простой пример:
Код:
#!/bin/sh

VAR=`echo '* *' | awk  '{print $1}'`
echo ${VAR}


Почему-то, если awk скармливается "звёздочка", на выходе получается листинг текущей директории. Причём, только когда выраажение в обратных кавычках. Напрямую всё работает.
Звёздочки можно передавать в любых количествах, кратно им выведется и листинг.
Можно передавать переменную, такой же результат.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 10:48 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5115
Откуда: Москва
awk не при чём. Сравните echo ${VAR} и echo "${VAR}"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 10:53 pm 
Не в сети

Зарегистрирован: Вс 08 мар, 2015 11:31 am
Сообщения: 159
Дайте я вас расцелую :)
Час бился…
Но почему?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 11:28 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5115
Откуда: Москва
Что значит почему? Так работает шелл - man sh, Parameter Expansion, White Space Splitting и Pathname Expansion.
Без двойных кавычек подставленное содержимое переменной подвержено всем обычным преобразованиям как-то разбивка на отдельные слова и раскрытие масок (*).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 11:34 pm 
Не в сети

Зарегистрирован: Вс 08 мар, 2015 11:31 am
Сообщения: 159
Я не понял, почему он листинг выдаёт.
На входе же близко не было.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 11:42 pm 
Не в сети
Модератор

Зарегистрирован: Сб 11 сен, 2004 6:33 am
Сообщения: 5115
Откуда: Москва
Он выдаёт то что выдало бы

Код:
echo *


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Странно работает awk
СообщениеДобавлено: Ср 23 ноя, 2016 11:51 pm 
Не в сети

Зарегистрирован: Вс 08 мар, 2015 11:31 am
Сообщения: 159
Ясно.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Зарегистрированные пользователи: Bing [Bot], Google [Bot], Yahoo [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB
Яндекс.Метрика