Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
6 / 5 / 4
Регистрация: 07.11.2014
Сообщений: 58

Awk/sed с переменной

28.09.2017, 00:30. Показов 3959. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Привет, подскажите пожалуйста, как использовать awk или sed с переменной.
Есть некая переменная массива arr[0], в конце которой нужно дописать значение переменной arr[3].
Bash Скопировано
1
arr[0]=$(echo ${arr[0]} | awk '{ print $0"${arr[0]}"}')
Выводит содержимое переменной arr[1] и в конце просто дописывает имя переменной arr[3]. Как сделать, чтобы вместо имени дописывалось содержимое?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.09.2017, 00:30
Ответы с готовыми решениями:

sed or awk
есть строка вида document.write('Monitor\n'); как сделать вывод слова Monitor Спасибо.

Awk/sed считать строки от конца
Как вывести строки файла, указывая диапазон от конца? Т.е. аналогично tail, но нужен не конец файла, а просто строки, которые отсчитаны...

Вырезать строку между 2 позициями с помощью sed и awk
Коллеги, добрый день. Помогите, пожалуйста, не могу разобраться. Не помогает даже гугл, все, что нашел не работает. Есть строка на...

5
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
28.09.2017, 02:32
Bash Скопировано
1
arr[0]=$(echo ${arr[0]} | awk '{ print $0'"${arr[0]}"'}')
Должно работать. Внутри одинарных кавычек никакие символы не воспринимаются как особые, и ${arr[0]} тоже понимается буквально.
1
6 / 5 / 4
Регистрация: 07.11.2014
Сообщений: 58
28.09.2017, 07:23  [ТС]
helter, Все-таки не работает, синтаксическая ошибка

Добавлено через 4 часа 15 минут
Решил проблему использованием sed.
Bash Скопировано
1
arr[0]=$(echo ${arr[0]} | sed "s/$/${arr[1]}/g"
Причем, если в строке есть слеш
Bash Скопировано
1
arr[0]=$(echo ${arr[0]} | sed "s,$,${arr[1]},g"
0
4528 / 3522 / 358
Регистрация: 12.03.2013
Сообщений: 6,038
28.09.2017, 11:32
Цитата Сообщение от fR3W Посмотреть сообщение
синтаксическая ошибка
Это другой вопрос — ошибка awk-а, вызванная значением переменной. Главное, он стал получать её значение.
0
Эксперт NIX
 Аватар для Marinero
2795 / 2038 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
28.09.2017, 19:36
Цитата Сообщение от fR3W Посмотреть сообщение
переменная массива arr[0], в конце которой нужно дописать значение переменной arr[3].
При чем здесь awk|sed?
Bash Скопировано
1
arr[0]=${arr[0]}${arr[3]}
или даже
Bash Скопировано
1
arr[0]+=${arr[3]}
0
7 / 6 / 4
Регистрация: 21.05.2017
Сообщений: 60
15.10.2017, 20:20
Цитата Сообщение от Marinero Посмотреть сообщение
При чем здесь awk|sed?
По сути переменные баш может впихнуть куда угодно, т.к. о их существовании знает только он. Получается awk/sed действительно непричём.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.10.2017, 20:20
Помогаю со студенческими работами здесь

Поиск длинного слова используя grep, sed или awk
Написать скрипт с использованием grep, sed, awk (необходимо использовать не менее одной из указанных утилит; использовать все три...

Использование sed со значением из переменной
Добрый день, Пишу установочный shell-скрипт, который должен провести замену строки в другом файле, но при этом фрагмент на замену...

Запись переменной в файл, используя sed
Всем привет! Мне нужно записать в определённую строку текстового файла, текущую дату. делаю вот так: #!/bin/bash a=`date` cd...

Ошибка awk
Привет, awk выписывает ошибку: awk: 1: unexpected character '.' Пошарил по интернету и заметил, что это распространенная ошибка, но никак...

Сценарий на awk
есть текст 1 1 2 3 2/3 2 1 2 3 3/4 3 1 2 3 5/6 4 1 2 3 7/8 независимо от чисел, все числа первого столбца заменить на S...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Антипаттерны микросервисной архитектуры
ArchitectMsa 03.04.2025
Хорошо спроектированная микросервисная система может выдержать испытание временем, оставаясь гибкой, масштабируемой и устойчивой к большинству проблем. Такая архитектура обладает высоким уровнем. . .
std::mutex в C++: Советы и примеры использования
bytestream 03.04.2025
std::mutex - это механизм взаимного исключения, который гарантирует, что критический участок кода выполняется только одним потоком в каждый момент времени. Это простое, но могущественное средство. . .
Не удержался от оценки концепции двигателя Стирлинга.
Hrethgir 03.04.2025
Сколько не пытался - она выдавала правильные схемы, причём случайно рисовала горячие области в середине, холодные по краям, трубки с краёв в низ и магнит в соединяющей, но при этой выдавала описание. . .
Метод с двумя буферами (или double buffering) или ping-pong buffering
Hrethgir 02.04.2025
Из ответов LM модели. Метод, который предполагает использование двух массивов для хранения промежуточных результатов сложения векторов, обычно применяется в сценариях, где необходимо минимизировать. . .
На любовном киберфронте
Alexander-7 01.04.2025
Недавно на одном малоизвестном сайте знакомств мною заинтересовалась девушка: «Текст немного странный. Но, судя по адресу почты, иностранка», – подумал я. Поколебавшись пару суток, я ответил ей:. . .
Как работает Node.js изнутри
run.dev 29.03.2025
Node. js изменил подход к разработке веб-приложений, позволив использовать JavaScript не только на стороне клиента, но и на сервере. Созданный в 2009 году Райаном Далем, этот открытый,. . .
Моки в Python: Mock Object Library
py-thonny 29.03.2025
Тестирование кода требует особого подхода, когда речь идёт о компонентах, взаимодействующих с внешним миром. Мы часто сталкиваемся с непредсказуемостью HTTP-запросов, чтением данных из базы или. . .
JavaScript: Управление памятью и улучшение производительности
run.dev 29.03.2025
В отличие от низкоуровневых языков программирования, JavaScript не требует ручного выделения и освобождения памяти. Здесь работает автоматический сборщик мусора, который определяет, какие объекты. . .
Мультитенантная архитектура со SpringBoot и PostgreSQL
ArchitectMsa 29.03.2025
SaaS-приложения редко обслуживают одного клиента и обычно они должны поддерживать множество организаций, каждая из которых работает в своём изолированном пространстве. Мультитенантная архитектура. . .
std::span в C++: Производительность и лучшие практики
NullReferenced 28.03.2025
std::span — одно из самых недооценённых нововведений стандарта C++20, которое радикально меняет подход к работе с непрерывными последовательностями данных. По сути, это невладеющее представление. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер