У меня есть файл, содержащий список key=value
пар, каждый на своей собственной линии. Каков наилучший способ получить значение для указанного ключа с помощью команд оболочки?Команды оболочки для соответствия парам значений ключей
ответ
насчет
grep "key" my_file | cut -d'=' -f2
@mouviciel, неверный комментарий mate? (-: –
Что делать, если файл имеет горизонтальный список параметров key = value? – CMCDragonkai
Плакат сказал «каждый на своей собственной линии». Но да, если их было больше одной строки, это не сработало. –
Это, как я это делаю в KSH.
FOO=$(grep "^key=" $filename | awk -F"=" '{print $2}')
Вы также можете использовать разрез вместо awk. Если вы разделите пару ключей пробелом, вы можете сбросить значение -F "=".
grep может быть awk может сделать все. 'awk -F" = "'/^key =/{print $ 2}'' – ghostdog74
read -r -p "Enter key to fetch: " key
awk -vk="$key" -F"=" '$1~k{ print "value for "k" is "$2} ' file
выход
$ ./shell.sh
Enter key to fetch: key1
value for key1 is value1
или вы можете просто использовать оболочку (например, Баш)
read -r -p "Enter key to fetch: " key
while IFS="=" read -r k v
do
case "$k" in
*"$key"*) echo "value of key: $k is $v";;
esac
done <"file"
может даже не понадобиться regexp: 'awk ... '$ 1 == k {print $ 2}' файл –
зависит от того, требуется ли OP точное соответствие, если нет, regexp является подходящим. OP может реализовать эквивалент SQL как эквивалент с regexp. – ghostdog74
Команда awk, похоже, не работает с Solaris. – JonnyWizz
- 1. Регулярное выражение PHP для соответствия парам значений ключей из заданной строки
- 2. Использование для циклов для соответствия парам кадров данных в R
- 3. Как объявлять и присваивать значения парам значений ключей в массиве
- 4. Доступ к парам ключей/значений HashMaps внутри объекта []
- 5. Извлечение значений из ключей после команды hmset
- 6. Как построить запрос для фильтрации по парам ключей в MongoDB?
- 7. Каков наилучший способ оптимального соответствия номинальным парам?
- 8. Сценарий оболочки для создания цикла для команды
- 9. Как я могу использовать jquery для разбора шрифта-удивительного листа cheet к парам значений ключей
- 10. "Inplace" обертка для оболочки команды
- 11. в алфавитном порядке сортировки ключей с их соответствия значений
- 12. Эффективная строка для соответствия ключей в unordered_map?
- 13. фраза соответствия для ключей в Redis
- 14. Регулярное выражение для соответствия парам ключ-значение, где значение находится в кавычках или апострофах
- 15. поиск по парам значений столбцов - сервер SQL
- 16. Сортировка списка ключей паров значений в сценарии оболочки
- 17. Tricky regex parse по ключевым парам значений
- 18. Переменные подмножества, соответствующие парам значений в R
- 19. SQL Арифметика по определенным категориям/парам значений
- 20. Настройка команды даты для соответствия моему формату
- 21. Использование команды Grep для соответствия шаблону
- 22. Запустить две команды оболочки
- 23. Команды асинхронной оболочки
- 24. Groovy, выполняющий команды оболочки
- 25. Доступ к парам значений ключа в jQuery.each()
- 26. команды Android эквивалента оболочки
- 27. Applescript вызов команды оболочки
- 28. Доступ к парам значений ключей из ajax-вызова с помощью jQuery
- 29. Команды командной оболочки Emacs
- 30. PID команды составной оболочки
Борн, C, или Баш оболочки – live2dream95
я закончил с этим: ключ Grep» "filename | sed '/ key = //' – live2dream95