Вопросы с тегом «string»

Управление строками: извлечение части строки, замена текста, форматирование до заданной ширины и т. Д.


2
Разбор JSON на оболочке
Как я могу разобрать вывод JSON на оболочке? Например, Amazon Web Services предоставляет интерфейс командной строки для получения статуса ваших экземпляров: $ aws ec2 describe-instances <my_instance_id> Но команда возвращает строку JSON. Вывод этой команды выглядит следующим образом: $ aws ec2 describe-instances x12345 { "Reservations" : { "OwnerId": "1345345" "Groups": [], …
11 zsh  string  json 

4
Как POSIX-ли подсчитать количество строк в строковой переменной?
Я знаю, что могу сделать это в Bash: wc -l <<< "${string_variable}" В основном все, что я нашел, связано с <<<оператором Bash. Но в оболочке POSIX <<<она не определена, и я часами не мог найти альтернативный подход. Я совершенно уверен, что есть простое решение, но, к сожалению, я не нашел …

6
bash найти строки, начинающиеся со строки
У меня есть куча файлов, и я хочу найти, какой из них содержит последовательные строки, начинающиеся с определенной строки. Например, для следующего файла: Aaaaaaaaaaaa Baaaaaaaaaaa Cxxxxxxxxx Cyyyyyyyyy Czzzzzzzzz Abbbbbbbbbbb Bbbbbbbbbbbb Caaaaaa Accccccccccc Bccccccccccc Cdddddd Ceeeeee Существует более одной строки, начинающейся с 'C', поэтому я хочу, чтобы этот файл находился по …
10 bash  sed  grep  string 

5
Сопоставление с образцом в путевых именах в bash
Я хочу действовать в списке подкаталогов в каталоге. Рассматривать: for x in x86-headers/*/C/populate.sh; do echo $x; done Это дает x86-headers/elf/C/populate.sh x86-headers/gl/C/populate.sh x86-headers/gmp/C/populate.sh x86-headers/gnome2/C/populate.sh x86-headers/gtk2/C/populate.sh x86-headers/jni/C/populate.sh x86-headers/libc/C/populate.sh Но я хочу значения, соответствует второй части пути, elf, glи т.д. Я знаю , как сдирать ведущий x86-headers. for x in x86-headers/*/C/populate.sh; do i=${x##x86-headers/}; …


2
Построить команду динамически
Я работаю над сценарием, и мне нужно построить tarкоманду динамически. Вот два примера, чтобы проиллюстрировать, что я пытаюсь сделать: #!/bin/bash TAR_ME="/tmp" EXCLUDE=("/tmp/hello hello" "/tmp/systemd*" "/tmp/Temp*") _tar="tar "`printf -- '--exclude="%s" ' "${EXCLUDE[@]}"`" -zcf tmp.tar.gz" echo COMMAND: "${_tar}" ${_tar} "$TAR_ME" echo -e "\n\nNEXT:\n\n" EXCLUDE=("--exclude=/tmp/hello\ hello" "--exclude=/tmp/systemd*" "--exclude=/tmp/Temp*") _tar="tar "`printf -- '%s ' …

4
Разделить строку на двоеточие в / bin / sh
Мой dashскрипт принимает параметр в виде hostname:port, то есть: myhost:1234 Принимая во внимание, что порт является необязательным, то есть: myhost Мне нужно прочитать хост и порт в отдельных переменных. В первом случае я могу сделать: HOST=${1%%:*} PORT=${1##*:} Но это не работает во втором случае, когда порт был опущен; echo ${1##*:}просто …
9 shell  string  dash 

5
Как сократить / путь / к / файл к / р / т / файл
Я ищу элегантный однострочный (например, awk), который будет сокращать строку пути Unix, используя первый символ каждого родительского / промежуточного уровня, но полное базовое имя. Проще показать на примерах: /path/to/file → /p/t/file /tmp → /tmp /foo/bar/.config/wizard_magic → /f/b/./wizard_magic /foo/bar/.config/wizard_magic→ /f/b/.c/wizard_magic В свете хороших моментов @ MichaelKjörling и @ChrisH ниже, этот пример …
9 sed  awk  string 

4
Как утверждать, что строка имеет символ новой строки и, если это так, удалить его
У меня есть строка, которая является результатом какой-то операции, которую я не могу контролировать. Когда я печатаю эту переменную используя echo, я получаю: echo $myvar hello Тем не менее, когда я делаю if [ $myvar = "hello" ]; then echo they are equal else echo they are not equal fi …
9 bash  string 

2
Манипулирование колонной
Я читал некоторые другие вопросы по манипулированию строками bash, но они кажутся специализированными приложениями. По сути, есть ли способ сделать ниже проще? вместо $ string='hello world'; string2="${string// /_}"; echo "${string2^^}" HELLO_WORLD что-то вроде $ echo 'hello world' | $"{-// /_}" | "${ -^^}" HELLO_WORLD Edit Я заинтересован в том, чтобы …

4
Разбить одну строку в массив символов, используя только bash
Я хочу разбить 'hello'на h e l l oмассив, используя только bash, я мог бы сделать это в sed с помощью, sed 's/./& /g'но я хочу знать, как разбить строку на массив в Bash, когда я не знаю, что будет разделитель, или разделитель любой один символ Я не думаю, что …
9 bash  string  split 

3
Как открыть новую строку, используя цикл for?
В разных местах в Интернете я нашел: \015 \012 \x0a - hex \n \r все как синонимы для различных новых строк / возвратов каретки ... Но в этом небольшом сценарии я не могу распознать, когда сталкиваюсь с новой строкой - может кто-нибудь сказать мне, что я должен проверять в строке …
9 bash  shell  string 

2
grep окружающие персонажи матча
Я ищу, чтобы найти и заменить в гигантском дампе базы данных, и он не делает то, что я думаю, должно произойти. Я хотел бы найти для моей целевой строки в файле, а затем увидеть окружающие 8 символов или около того (мне может потребоваться изменить это число, в зависимости от). Как …

2
Проверить, содержит ли переменная символ новой строки (POSIX)
Я знаю, что некоторые оболочки выдерживают такой тест: t() { [[ $var == *$'\n'* ]] && res=yes || res=no printf '%s ' "$res"; } var='ab cd' t var='abcd' t echo на исполнение: $ bash ./script yes no Что такое рабочий эквивалент POSIX (тире) Является ли следующий надежный способ проверки? nl=' …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.