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
Сообщения: 5110
Откуда: Москва
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
Сообщения: 5110
Откуда: Москва
Что значит почему? Так работает шелл - 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
Сообщения: 5110
Откуда: Москва
Он выдаёт то что выдало бы

Код:
echo *


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

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


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

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


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

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


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

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