Tag: bash

Как я могу извлечь данные из этой строки?

xyz /mnp/opq/p/1926081/sp/192608100/serveFlavor/entryId/0_ffx7sljc/v/2/flavorId/0_,n6h1xlhl,ea3anltg,jfs8boo9,w2v1vsk2,ze8e1q2s,to8w2p18,/forceproxy/true/name/new в этой строке эта часть ,n6h1xlhl,ea3anltg,jfs8boo9,w2v1vsk2,ze8e1q2s,to8w2p18, является переменной, поэтому это может быть большее или меньшее количество данных между комами в частях xyz /mnp/opq/p/1926081/sp/192608100/serveFlavor/entryId/0_ все постоянно, за исключением того, что числовое значение 1926081 или 192608100 может увеличиваться или уменьшаться. /forceproxy/true/name/new также является константой и не изменяется Выход, который я хочу ,n6h1xlhl,ea3anltg,jfs8boo9,w2v1vsk2,ze8e1q2s,to8w2p18, только последнее значение […]

Почему в этом примере происходит расширение параметра до расширения фигурной скобки?

Из https://unix.stackexchange.com/a/7739/674 , почему расширение параметра происходит до расширения брекета в следующем примере? eval rm foo.{$ext0..$extN}

Как передать журнал переменных в качестве аргумента скрипту?

Я пытаюсь передать журнал в качестве аргумента скрипту, который выполняет следующие действия: #!/bin/bash filter(){ grep -E "ERROR|FATAL|WARN|Caused|^[[:space:]]" /app/me/logs/$1 } #read varName filter > /app/me/logs/${1}.filtered cat /app/me/logs/${1}.filtered но он ничего не выводит, и созданный в нем файл журнала ничего не имеет. Команда, которую я передаю, выглядит так: >>> log_filter test.log log_filter – это имя скрипта, а […]

Неясно, где идет выход bash

Я сделал небольшой скрипт для вывода списка плагинов vim в файл, поэтому я мог бы выяснить, какие из них я хочу сохранить или удалить. Однако, когда я запускаю его, вывод не попадает в файл. Все остальное работает так, как должно. Что я сделал здесь неправильно? #!/usr/bin/env bash HERE=$(pwd) for D in $HOME/.vim/plugged/*/; do if [ […]

Разбор строки с использованием функции bash

Я пытаюсь заменить некоторые коды функцией bash, чтобы повторно использовать ее. Итак, мои предыдущие коды: #!/bin/bash set aline=" dsfsdf | fsdfff | yuhfd " set line_parsed=`echo $aline | tr '|' "\n"` echo ${line_parsed[1]} Какие выходы dsfsdf . Теперь, если я пытаюсь поставить предложение в функцию, я не могу понять это правильно: #!/bin/bash parseLine () { […]

Почему я получаю сообщение об ошибке «print_unicode: строка 9: printf: отсутствует символ Unicode для Unicode 0187» с этим скриптом

Я написал им следующий сценарий оболочки, чтобы посмотреть, как выглядят символы Юникода на моем терминале. #!/bin/bash X=0 while [ $X -lt 65536 ]; do HEX=`bc <<< "obase=16; $X"` HEX="0x${HEX}" UCODENAME=`printf "%0*x\n" 4 $HEX` UCODECHAR=`printf "\u%0*x\n" 4 $HEX` echo -e "Unicode ${UCODENAME} = ${UCODECHAR}" X=$((X + 1)) done Когда я запускаю скрипт, я получаю следующий вывод: […]

Программа Shell, которая выводит средние значения

В принципе, мне нужно написать программу оболочки, называемую avgs, которая будет считывать строки из файла с данными, где строка заголовка может быть в любой строке данных. Подсказка: вы должны сохранить общее количество и подсчитать для каждого из последних двух столбцов и не должны включать данные из первой строки в итоговых и подсчетных числах. Это файл […]

Как написать символ «!» Между двойными кавычками в bash?

Я не могу понять, как писать ! символ в сценариях bash, когда он помещается в строки с двойными кавычками. Например: var="hello! my name is $name! bye!" Что-то сумасшедшее происходит: $ age=20 $ name='boda' $ var="hello! my name is $name! bye!" Когда я нажимаю кнопку ввода последней команды, команда повторяется (сама себя) без последней ! : […]

Термин gnome – это тип оболочки без входа?

Согласно ответу на вопрос, https://askubuntu.com/questions/155865/what-are-login-and-non-login-shells , терминал gnome – это тип оболочки без входа. Как указано в превосходной книге «Практическое руководство для Fedora и Red Hat Enterprise Linux», 6-е издание : интерактивная не-login-оболочка выполняет команды в файле ~ / .bashrc. Файл ~ / .bashrc по умолчанию вызывает / etc / bashrc. В результате, /etc/profile не […]

Доступ к вторичным переменным

for x in `cat /var/www/vhosts/example.com/statistics/logs/access_log.processed | awk '{print $1}' | sort | uniq -c | sort -nr | awk {'if ($1 > 2000) print $2'}`; do #Works printf "$x" #Does not work printf "$1" done Я пытаюсь заблокировать IP-адреса, которые пытались выполнить более 2000 запросов. Фактически код выше – это комбинация из двух разделов. Первый, […]

Linux и Unix - лучшая ОС в мире.