Вопросы с тегами [shell]

1

голосов
1

ответ
81

Просмотры

вывода STDOUT получение записывается в пользовательский дескриптор файла

У меня есть функция, которая открывает дескриптор файла для Fd 3, который перенаправляет в файл. Проблема у меня есть, что STDOUT от других функций становится записывается в файл, который FD3 пишет в. Таким образом, код является то, как показано ниже. Я не понимаю, как открытие файла дескриптора 3 в функции start_report позволяет выход из журнала или любой другой функции, которая записывает в STDOUT, чтобы записать в /tmp/testfile.log. Странно то, что не все STDOUT становятся написано, берейся 3, только некоторыми из них. start_report () {Exec 3> /tmp/testfile.log кошка
todd1215
0

голосов
2

ответ
15

Просмотры

Без учета регистра поиска между двумя строками в файле

У меня есть файл построен следующим образом: # комментарий с ключевым словом One некоторые код здесь и еще немного кода # еще один комментарий с ключевым словом Два некоторые кода # больше комментариев и ключевых слов Три много кода я пытаюсь извлечь комментарии и соответствующие строки кода учитывая ключевое слово, в регистронезависимом образом. Для примера: $ кошачьей file.txt | find_by_keyword один три # комментария с ключевым словом One некоторого кодом здесь и еще несколько кодом # больше комментариев и ключевыми словами Три лота кода я раньше использовал AWK «/^#.*('$se').*$/,/^$/ », где $ себе регулярное выражение, я построю из предоставленных ключевых слов ((один | два)). Тем не менее, я не мог заставить его быть чувствителен к регистру. Это не кажется хорошей идеей переставлять пользовательский ввод с вариантами случаев ... Любые идеи?
marshmcintire
1

голосов
1

ответ
63

Просмотры

Почему кавычки в сценарии оболочки ведут себя по-разному от кавычек в командах оболочки?

Я использую WsL (Ubuntu 18.04) на Windows 10 и Баш. У меня есть файл filename.gpg с содержанием: экспорт SOME_ENV_VAR = '123' Теперь я бегу следующие команды: $ $ (GPG -d filename.gpg) $ эхо $ SOME_ENV_VAR '123'
Leo Jiang
1

голосов
2

ответ
75

Просмотры

execvp () возвращает значение, если путь является неправильным

В настоящее время я пишу сценарий пользовательской оболочки в С. Для того, чтобы выполнить команду, я использую execvp функции (). Например: если ((execvp (арг [0], Args)) == -1) // арг представляет собой символ ** массив, содержащий аргументы команд {Е ( "Ошибка: Неправильная команда \ п"); Выход (EXIT_FAILURE); } Дело в том, когда 2 команды отделены друг от друга «&&», если первый из них не выполняется (таким образом, execvp вернет -1) весь процесс должен сломать, прежде чем перейти к следующему. Он работает совершенно нормально, если, например, я пишу «&& LS». Хотя, если я пишу что-то вроде «LS && LS», execvp () будет выполняться в обычном режиме и выводит сообщение: LS: не может получить доступ к «...»: Нет такого файла или каталога Тогда он будет идти к следующей команде. По-видимому, в этом случае execvp () не возвращает -1. Есть ли другое значение, что execvp () возвращает в этом случае? Если нет, то как я могу проверить, если путь существует перед выполнением команды? EDIT Я просто проверить значение статуса (генерируемое ожидание (и статус) в то время как родитель ждет ребенка прекратить). Если оно не равно нулю, то это означает, что команда не была выполнена.
Thanos Manolis
1

голосов
2

ответ
142

Просмотры

Shell наложения спектров несколько аргументов

Есть хороший способ сделать несколько замен для наложения команды? Для SSH Пример псевдонима CMD =»-R $ 1: $ 2: $ 1: $ 2 $ 3 | что-то {$ 1, $ 2, $ 3}»Cmd 127.0.0.1 1234 сервер что-то вроде этого .. На самом деле, это на самом деле не имеет никакого смысла для трубы на выходе, как это, но аналогичный синтаксис, что я хотел бы видеть. Это хорошо, чтобы назвали отображения тоже, но только индексы хорошо. Использование AWK возможно?
Verhogen
0

голосов
0

ответ
10

Просмотры

Bash с несколькими командами, белый список несколько встроенных команд

Попытка открыть Баш оболочку с возможностью команды ограничены. Пробовал параметры командной строки, такие как -r ограничения, но не дает желаемого результата. Также пробовали shopt & неустановленные команды. Баш --noprofile --noediting --verbose --version --init-файл test.sh переменная не установлена ​​Ls shopt -u -o История Начало Баш оболочки с только несколько встроенных команд. Например, компакт-диск, LS, кошка только. Использование такой оболочки будет только для чтения целей для каталогов Навигационной Listing & File просмотра цели
Kunal G
1

голосов
2

ответ
66

Просмотры

AWK команды в файле дает ошибку при выполнении в цикле

file_data.txt 73 | 8 | 42,320000 | 1559260800000 | 1 | 9667 | 0,00 | 42,320000 || 1485613678440 | 153 | 8 | 35,680000 | 1559260800000 | 1 | 10899 | 0,00 | 35,680000 || 1482480306523 | 2503 | 8 | 93,390000 | 1559260800000 | 1 | 6106 | 0,00 | 93,390000 || 1484304241803 | 2672 | 8 | 49,990000 | 1559260800000 | 1 | 7754 | 0,00 | 49,990000 || 1482064270543 | AWK_COMMANDS.txt AWK -F '|' '$ 2 == 3280 {печать}' file_data.txt AWK -F '|' «$ 2 == 3281 {печати}» file_data.txt Я бег ниже в то время как петля во время считывания строки этого сделана $ строки <AWK_COMMANDS.txt Я получаю ниже AWK ошибки: ЦМД. линия: 1: «$ 2 AWK: CMD. линия: 1: ^ недопустимый символ ''»в выражении AWK: CMD. линия: 1: «$ 2 AWK: CMD. линия: 1: ^ недопустимый символ «»»в выражении, когда я выполнить ту же команду в консоли непосредственно работает. Я попытался убежать и двойные кавычки. Это приводит тот же
Ashish
1

голосов
0

ответ
97

Просмотры

Как отправить конкретную картину, чтобы WhatsApp в моей андроид приложения

Может кто-то пожалуйста, помогите мне с этим кодом ADB оболочки, необходимого для обмена конкретной картины (скриншот я взял) на то, что это приложении? Вот код, который я пробовал: я начинаю -a -c android.intent.action.SEND android.intent.category.DEFAULT -t изображение / * -е хранения поток / эмулировать / 0 / Фотографии / Скриншоты / screen.png При выполнении всех Я получаю андроид приглашение выбрать приложение, я хочу для совместного использования при выборе того, что не удалось это приложение обмена (я даже попробовал другое приложение, как Instagram, такая же проблема)
user185361
1

голосов
0

ответ
121

Просмотры

порт исключить шаблон из inotifywait в fswatch

Поэтому у меня есть это регулярное выражение исключает шаблон, который отлично работает с inotifywait на Linux:. * \ \ Ш + \ \ ш {6} Теперь я хочу портировать его на fswatch на MacOS и использовать с -e или -eE флага... Что есть я пытался до сих пор без везения: -e ". * \ \ Ш + \ \ ш {6}." -Ее»* \.. [[: Альфа:]] + \ [[:. Альфа:] ] {6} «-e». * \ .. + \ .. {6}»# не точно, но я действительно отчаянным :) Я также попробовал эти модели с различными комбинациями одинарных и двойных кавычек и с -e или -аЯ комбинация.
valignatev
1

голосов
0

ответ
436

Просмотры

MongoDB импортировать файл JSON в уже существующую коллекцию в качестве обновления одной записи

У меня есть коллекция Монго, которая выглядит следующим образом: { "идентификатор": "BM10003", "подсчет": "0", "данные": { "Label1": "value1", "LABEL2": "value2"}} в приведенном выше поле идентификатора коллекции является уникальным, и я использую, что для добавления данных к этому входу. Теперь я хочу, чтобы импортировать файл JSON, который добавляется к этой коллекции под ключ data2. Есть простой командной оболочки, чтобы сделать mongoimport путем поиска идентификатора и просто добавляя jsonarray к этому входу?
Yatish
1

голосов
1

ответ
37

Просмотры

Как я могу передать список имен изображений из CSV-файла в команде находят?

Таким образом, у меня есть CSV-файл со списком имен изображений, отформатированный как таковой: FPC-84WB.jpg Arctic-blue.jpg Azuria.jpg Азурия-Reflective.jpg BLACK-REFLECTIVE.jpg Bronze.jpg Champagne.jpg Copper.jpg свето- Green.jpg Orange.jpg Pacific-blue.jpg .... последний image.jpg я хочу использовать поиск / вар / WWW / HTML / -name [название изображения] -exec преобразования [опции] {} \; конвертировать все эти изображения без необходимости идти и найти их точный каталог или путь. Так как я могу передать каждую строку CSV в команду найти, чтобы конвертировать все эти изображения. Я пытался прибегая к помощи, чтобы понять это, но все, что придумало было о переходе выхода из находки в другую команду или файл, в то время как я хочу наоборот. EDIT: pics.csv, что я использую для тестирования на локальном компьютере: дельта-тепловой logo.jpg две собаки-дизайн-logo.jpg современные-пламена-logo.jpg polyscience-logo.jpg реального Fyre-логотип.
Nate Swanson
1

голосов
1

ответ
193

Просмотры

Как правильно использовать линейно-градиент во время укладки оболочки GNOME?

Я работаю над расширением гном-оболочкой, и я не могу получить линейный градиент, чтобы работать должным образом (или вообще, на самом деле). Документации GTK или этот пост утверждают, что мы должны быть в состоянии использовать что-то вроде этого: метки {фон изображения: линейно-градиент (в правом верхнем углу, синий 20%, # F0F 80%); / * ИЛИ * / фоновое изображение: -gtk-градиент (линейный, 0 0, 0: 1, цвет-стоп (0, @yellow), цвет-стоп (0,2, @blue), цвет-стоп (1, # 0f0 )); } Но это не работает, градиент не отображается. До сих пор, единственный способ, которым я могу получить градиент, если я использую эти недокументированные свойства: метку {фон градиент запускаемый: RGBA (255, 0, 0, 1); фон-градиентный конец: RGBA (0, 255, 0, 1); } Проблема заключается в том, что нужно использовать функцию линейного градиента для точной настройки градиента. Является ли это возможным?
ChG
1

голосов
1

ответ
50

Просмотры

Bash скрипт неудачи, но часть работает

Может кто-нибудь видит ничего плохого в следующем? Я смотрел снова и снова и не могу видеть проблему, но его неспособность создать SQL дамп и никаких смол не создаются. Переменные будут иметь свои данные, очевидно. Я проверил это все правильно. #! / Bin / Баш SITE = "" PATH = "" SERVER = "" DBUSER = "" DB = "" DBPW = "" ДАТА = `дата«+% d-% m-% y-% H-% M «` деготь -czf ~ / резервного копирования / $ {DATE} - $ {SITE} .tar.gz \ / вар / сайты / $ {PATH} / public_html туздЫшпр -f \ -u $ {DBUSER} $ {DB} \ - р $ {DBPW} \ -h $ {SERVER}> ~ / резервного копирования / $ {DATE} -db - $ {SITE} .sql найти ~ / резервный -mtime +3 -exec гт -f {} \; Целью кода является создание резервной копии моих файлов сервера и базы данных. Скрипт работает через CRON.
ccdavies
1

голосов
1

ответ
101

Просмотры

Shell-Script, чтобы объединить все файлы CSV в каталоге с двумя ключевыми столбцами

Я изо всех сил на некоторое время теперь. У меня есть каталог с более чем 5 файлов CSV. Идея заключается в том, чтобы присоединиться к ним все с помощью сценария (возможно с петлей?). Пример только с двумя файлами: File1 1; 1.1; хуг 1; 1.2; аЬс 2; 2,1; GFA Файл2 1; 1.1; ТСП 1; 1.2; ASD 2; 2,1; QWE Выходной файл должен выглядеть следующим образом: 1; 1.1; хуг; ТСП 1; 1.2; а; ASD 2; 2,1; GFA; QWE В каждом файле CSV, первые два столбца «первичный ключ». Я пробовал с присоединиться и AWK, но я не понимаю (неправильный подход?). Спасибо за помощь.
Teo
1

голосов
1

ответ
41

Просмотры

чтения не-форматированное значение столбца

Я пытаюсь читать все значения для столбца «Описание 4». Я могу читать его, если все значения находятся в одной строке и ни одно из значений не являются пустыми, но ниже в случае, если некоторые пустые значения и некоторые значения не ориентированы в той же строке, что и другие. Пожалуйста, предложите, как я могу просто вытащить все значения ниже «описание 4». Ниже всего курсива с колоннами между ними откуда я должен принести Описание 4 A. варранты и представляет в том, что имеет полное право собственности на перечисленные ниже и / или мобильный телефон, в котором содержится, свободными от всех залогов и esffcswes и cdwswys таким названием, и любые regqsdfon и документы (если применимо), чтобы эффективно, как на дату удаления или из (в зависимости от обстоятельств).
ankitpandey
1

голосов
1

ответ
240

Просмотры

Сохраните результат Grep из команды Maven в переменную

Я хочу, чтобы Grep результата команды Maven (Maven-справочный плагин) и сохранить результат Grep в переменной оболочке и использовать его в .gitlab-ci.yml файла. Я попытался это и команда печатает Maven желаемого результата, но эхо $ VERSION ничего не выводит (переменная т.е. версии пуст): VERSION = МВН org.apache.maven.plugins: Maven-справку-плагин: 2.1.1: оценить -Dexpression = project.version Я также попытался это и он получает сообщение об ошибке: Загрузка :: команда не найдена: VERSION = $ (МВН org.apache.maven.plugins: Maven-помощь-плагин: 2.1.1: оценка «- Dexpression = project.version»| Grep -v '\ [') Так как я могу сохранить результат Grep в переменной?
AshKan
1

голосов
2

ответ
59

Просмотры

Переменный выход в Баш для цикла из двух Grep

Я пытаюсь искать через файлы и извлекать два кусков соответствующей информации каждый раз, когда они появляются в файле. Код, который я в настоящее время: #! / Bin / Баш эхо "Использовано считывает с выхода ustacks"> reads.txt str1 = "используемый гласит:" str2 = "Разбор" для файла в / главная / desaixmg / novogene / стеки / Sample01 / conda_ustacks.o *; делать читает = $ (Grep $ str1 $ файл | вырезать -d ':' -f 3 образцов = $ (Grep $ str2 $ файл | вырезанные -d '/' -f 8 эхо $ выборок $ >> читает reads.txt сделано Это делает каждую строку файла (файлы имеют разное число экземпляров этих фраз) и дает мне выход для каждой строки для каждого файла: PopA_15.fq 1081264 PopA_16.fq PopA_17.fq 1008416 554791 PopA_18.fq PopA_20.fq PopA_21 .fq 604610 531227 595129 ... Я хочу, чтобы соответствовать каждому экземпляру (т.е. Первый экземпляр обоих отбирает рядом друг с другом двух): PopA_15.fq 1081264 PopA_16.fq 1008416 PopA_17.fq 554791 PopA_18.fq 604610 PopA_20.fq 531227 PopA_21.fq 595129 ... Как мне это сделать? Спасибо
Mgdesaix
1

голосов
1

ответ
346

Просмотры

кратна группа по запросу в MongoDB совокупности

"Обычай": "7507829969"}], "CAMPAIGN_ID": "5a70252612d91c7b085df083", "MESSAGE_CONFIG_ID": "5a702570f9dede4a357ffac4"} Там будет несколько документов этой структуры я хочу сделать, как этот SQL: SELECT MESSAGE_CONFIG_ID, граф (*) от GroupIdDeliveryStatusReport где CAMPAIGN_ID = «5a70252612d91c7b085df083» группа BY DATA_LIST.mobile, MESSAGE_CONFIG_ID Как сделать то же самое в Монго оболочки и пружинных данных. Я хочу, чтобы количество уникальных номера мобильного телефона в DATA_LIST каждого уникального MESSAGE_CONFIG_ID Это то, что я пытался, но я не получаю, как и ожидалось. . Db.getCollection ( 'GROUP_ID_DELIVERY_STATUS') агрегат ({ "$ матч": { "CAMPAIGN_ID": "5a70252612d91c7b085df083"}}, { "$ разматывает": "
Muddassir Rahman
1

голосов
1

ответ
71

Просмотры

Выполнение сценариев оболочки, которые занимают много времени, используя модуль дочернего процесса в nodejs

Ниже мой код, написанный для выполнения сценария под названием mqValidation.sh в UNIX, отправив запрос AJAX. Это порождает новый дочерний процесс и при выходе из дочернего процесса, он посылает ответ текстового файла, который, очевидно, содержит вывод скрипта. Но этот вопрос я столкнулся здесь, так как сценарий занимает много времени, чтобы закончить, новый дочерний процесс идет порождал до первых выходов дочернего процесса, который означает, что сценарий становится выполняется снова. вар экспресс = требуется ( «экспресс»); вар приложение = экспресс (); вар р = требуется ( 'child_process'); app.post ( '/ triggerMQ', функция (REQ, разреш) {Ls = cp.spawn ( './ mqValidation.sh', req.body.envs, {CWD: "./ MQValidation"}); ls.stdout .он ( 'данные', (данные) => {console.log ( `стандартный вывод: $ {данные}`);}); ls.stderr.on ( 'данные', (данные) => {консоли. LOG ( `STDERR: $ {данные}`); }); ls.on ( 'Выход', (код) => {console.log ( "дочерний процесс завершился"); res.sendFile (__ имя_директории + '/ MQValidation / html.txt');}); }); app.listen (8000, функция () {console.log ( "приложение слушает на порту 8000 .....");}); Пожалуйста помоги!!
koteswar
1

голосов
0

ответ
444

Просмотры

Азбука Морзе программирование убунту оболочки

Я хочу сделать Морзе конвертер, который преобразует букву из текстового файла в коде Морзе код Морзе из текстового файла с буквами путем исполнения является ./morse.sh -e text.txt (для кодирования) и ./morse .sh -d Morse_text.txt (для декодирования). Моя единственная проблема в том, что выход не отображается на экране, по некоторым причинам. Вот code.If я сделал ошибку, дайте мне знать. #! / Bin / Баш эхо «Привет, добро пожаловать в азбуке Морзе конвертер !!» кодирование () {объявить -A азбуки Морзе [А] = ".-"; Морзе [В] = "-..."; Морзе [С] = "-.-."; Морзе [D] = "- .."; Морзе [Е] = ""; Морзе [F] = "..-."; Морзе [G] = "-."; Морзе [Н] = "...."; Морзе [I] = ".."; Морзе [Дж] = ".---"; Морзе [K] = "-.-"; Морзе [L] = ".- .."; Морзе [М] = "-"; Морзе [N] = "-."; Морзе [O] = "---"; Морзе [Р] = ".--."; Морзе [Q] = "--.-"; Морзе [R] = ".-."; Морзе [S] = "..."; Морзе [Т] = "-"; Морзе [U] = "..-"; Морзе [В] = "...-"; Морзе [Вт] = ".--"; Морзе [X] = "-..-"; Морзе [Y] = "-.--"; Морзе [Z] = "- .."; Морзе [1] = ".----"; Морзе [2] = "..---"; Морзе [3] = "...--"; Морзе [4] = "....-"; Морзе [5] = "....."; Морзе [6] = "-...."; Морзе [7] = "--..."; Морзе [8] = "--- .."; Морзе [9] = "----."; Морзе [0] = "-----"; для ((к = 0; к <$ {# Морзе}; к = к + 1)); делать эхо "$ {Морзе}" сделано} декодировать () {объявить -A письмо письмо [.-] = "A"; буква [-...] = "В"; буква [-.-.] = "C"; буква [- ..] = "D"; буква = "E" [.]; письмо[..-. ] = "F"; буква [-.] = "G"; письмо [....] = "H"; письмо [..] = "Я"; буква [.---] = "J"; буква [-.-] = "K"; буква [.- ..] = "L"; буква [-] = "М"; буква [-.] = "Н"; буква [---] = "О"; буква [.--.] = "Р"; буква [--.-] = "Q"; буква [.-.] = "R"; письмо [...] = "S"; буква [-] = "Т"; буква [..-] = "U"; буква [...-] = "В"; буква [.--] = "Ш"; буква [-..-] = "X"; буква [-.--] = "Y"; буква [- ..] = "Z"; буква [-----] = "0"; буква [.----] = "1"; буква [..---] = "2"; буква [...--] = "3"; буква [....-] = "4"; письмо [.....] = "5"; буква [-....] = "6"; буква [--...] = "7"; письмо [--- ..] = "8"; буква [----.] = "9"; для ((я = 0; г <$ {# Морзе}; I = I + 1)); делать эхо "$ {письмо: я}"}, если сделать [[$ 1 = "-e"]]; то при КСФ = чтение -r линии || [[-N "$ строка"]]; делать эхо "Текст: $ строка" эхо "Морзе код:" сделано < "$ 2" закодировать "$ @" Элиф [[$ 1 = "-d"]]; то при КСФ = чтение -r line1 || [[-N "$ line1"]]; делать эхо «код Морзе: $ line1» эхо «Перевод:» сделано < «$ 2» расшифровывает «$ @» еще эхо «Пожалуйста, попробуйте еще раз, используя -e или -d» фи
Zach DS UniPi
1

голосов
2

ответ
167

Просмотры

Shell скрипт вызова Java исполняемый файл и отлов исключения

У нас есть Java исполняемый файл, который может быть запущен из командной строки, например: >> Java -jar something.jar Это будет называться сценарием оболочки. Как мы можем сделать сценарий оболочки обнаружить, если исполняемая банку выбросило исключение? позволяет сказать, что мы хотим, чтобы вернуть «истина», если исполняемый банку закончил без исключения и «ложь», если он бросил исключение. Это возможно?
Hingle McJingleberry
1

голосов
1

ответ
343

Просмотры

скрипт для запуска нового окна в tmux как другой пользователь

! У меня есть следующий в моем new.sh файл Баша - # / bin / Баш Судо -u tmux -2 Бобби нового сеанс -A -s главного Судо -u бобби tmux нового окно `кд / дом / new_dir /; узел n1.js` Судо -u бобби tmux новое окно-`Кд / дома / new_dir /; узел n2.js` Судо -u бобби tmux отрывать Я бегу new.sh суперпользователя, но я встречаю много проблем: 1. tmux открывает для корневого пользователя, и не отрывается автоматически, даже если у меня есть tmux разделиться. 2. Почему tmux открыть для корневого пользователя, когда он создается для пользователя бобби (это проверяется командой tmux Ls. Это говорит пустой сервер для корневого пользователя, и показывает сеанс для пользователя бобби) 3. Команда после tmux новый- окно CD дома / new_dir /; узел n1.js и CD дома / new_dir /; узел n2.js полностью игнорируется!
vjjj
1

голосов
2

ответ
62

Просмотры

как прочитать переменную из текстового файла и присвоить это значение другой переменной, используя сценарий оболочки

У меня есть огромный текстовый файл, который состоит из различных переменных и других данных. Я должен искать строку «имя_пользователя» и получить его значение (имя, после =). имя после = всегда «цитировали» У меня есть один скрипт, который использует этот текстовый файл данные. В одной точке (линии) в коде он должен принимать значение имя_пользователя. Кроме того, в «источнике» сценарий не был выполнен. из-за некоторые права разрешений я не могу добавить эту команду. Я вижу скрипт в первый раз, очень нового для оболочки языка. Я попытался USER_NAME! = "$ USER_NAME!"
Kumar
1

голосов
0

ответ
21

Просмотры

Будет ли "function_not_found_handle () загружаемый Баш встроенному возможно?

Я написал функцию для обработки неизвестных команд в Баше через command_not_found_handle (). Мое намерение состоит в том, чтобы исходные скрипты по требованию и доступа к его функциям внутри обработчика. Но, к сожалению, получены функции выполняются в субоболочке поэтому переменные теряются после возвращения / выхода. В конце концов я сделал это с некоторым / ловушками / механизм ФИФО сигнала к command_not_found_handle родительской оболочки для достижения своей цели, но его все, но элегантно. Теперь мне интересно, если function_not_found_handle загружаемые встроенные может быть реализовано. Встроенный должен быть вызван, если command_not_found_handle () терпит неудачу. В настоящее время я нашел большую статью Эда Шефера по этой теме, но, как представляется, точка входа. Кто-нибудь опыт работы с динамически загружаемыми встроенными командами Баша? Кто может указывать мне полезную информацию? Я надеюсь, что придумать с некоторыми результатами скоро конкретизации мой вопрос. Спасибо!
Dominik Kummer
1

голосов
1

ответ
19

Просмотры

Shell - Объединить строки в COLUMN1 Если в колонке 2 Повторяющиеся

Я новичок в программировании оболочки и в настоящее время сталкивается с контрольно-пропускным пунктом в достижении решения, я хочу, чтобы сцепить значение столбца A тогда и только тогда столбец В таком же. Здесь входной выборки, Col седловине Б ААА www.google.com www.google.com ВВВ CCC DDD www.gmail.com www.yahoo.com Ожидаемые результаты Col седловине B ААА, ВВВ www.google.com КТС WWW .gmail.com DDD www.yahoo.com Я использую ниже Awk команду для разделения дубликатов записей, AWK «NR == 1 {р = $ 2; Следующий} р == $ 2 {Printf "% s,% s \ п", $ 1, $ 2} {р = $ 2}»FS = "" Input.csv Но я не в состоянии получить дубликаты разделены. Любые предложения или указатели будут высоко оценены.
Kumar
1

голосов
0

ответ
109

Просмотры

Shell скрипт скудно кассовых SVN файлы изменены в конкретной ревизии не работает

У меня есть следующий скрипт, который предназначен для рассеянно проверки файлов для определенного пересмотра в SVN. Я хотел, чтобы скопировать эти файлы поверх как «заплатка» сортов. Папка репо проверялось, как --depth пустой, поэтому перед запуском этого сценария нужно просто быть .svn корень репо. Я сделал это, как репо огромен, и я просто хотел, чтобы быстро создать патч с определенного пересмотра. для CurrentFile в $ (SVN журнала -r 3131 -v | GREP "/ филиалы" | вырезать -c 7-) сделать Curdir = "$ (имя_директории $ CurrentFile)" CurName = $ (базовое "$ CurrentFile") SVN Checkout SVN: // локальный / LocalRepo @ 3131 $ Curdir --depth пустой CD $ Curdir Svn до -r 3131 $ CurName кд / д / обертоны / RepoInstance сделано для цикла получает контент, который я хотел. Curdir и CurName, кажется, извлечь правильные строки. Выписка из каталога создает папку, но вверх не создает файл, но не ошибка либо. Вверх говорит Обновление myFile.blah ревизии 3131, а затем при пересмотре 3131, как если бы он работал. Я первоначально имел это намного проще, без проверки папки, компакт-диск, и выйдет, но я столкнулся с такими проблемами, как SVN: E155007: Ни одна из целей не рабочие копии.
Geesh_SO
1

голосов
1

ответ
253

Просмотры

GIT предварительно совершить крюк, чтобы запустить проверку пуха?

как написать мерзавец зафиксироваться крюком, чтобы запустить проверку ворса для вновь добавленного файла изменений /, в настоящее время, я бег «./gradlew пух» команда, прежде чем совершить, было бы гораздо проще, если есть способ запустить пух только для файлов, добавление / изменения перед совершением мерзавца.
Sam
1

голосов
1

ответ
33

Просмотры

чтения UserInput с фиксированными первыми символами?

это мой первый пост в этой платформе. Ive нашел так много полезных советов. Я хочу поблагодарить всех, кто использует эту платформу активным. Мой вопрос: Как я могу использовать вход для чтения в Баше с фиксированными первыми символами? Например читать -p «Введите имя пользователя:» бб-d-USERNAME так бб-d- уже дано. Пользователь должен ввести только имя пользователя, а переменная должны поймать всю бб-D-USERNAME я надеюсь, что его четко сформулировать. С наилучшими пожеланиями, Goeks
Goeks
1

голосов
1

ответ
48

Просмотры

Запуск нг (угловые) команды от bluemix консоли

Я хочу построить свой Угловой проект по bluemix развертывания трубопровода. Я попытался создать новый порядок сборки с скрипт, но он просто не может. Что является лучшей практикой для создания проекта по Bluemix? Ex. "Нг построить --Base-HREF /.../"
ChristofferA
1

голосов
3

ответ
67

Просмотры

печать вывод командной истории 1 из сценария оболочки

Вот моя проблема, из консоли, если я печатаю ниже, вар = `1` история эхо $ вар я получаю желаемый результат. Но когда я делаю то же самое внутри скрипта, он не показывает никаких выходных данных. Кроме того, для других команд, таких как PWD, LS и т.д., сценарий показывает желаемый результат без каких-либо проблем.
vjoseph1
1

голосов
0

ответ
76

Просмотры

Как использовать тройник или> внутри «экрана», а также указав имя экрана для них?

Я пытаюсь создать несколько рабочих мест на разных экранах из сценария оболочки. Каждое задание будет читать в другом значении параметра из Premade входного файла и запустить моделирование на основе этого значения, то тройник или> выход к другим по имени файла. Таким образом, в сделать петлю вокруг всех рабочих мест, работа 40 на экране «session40» будет читать в строке 40 файла ввода, запустить моделирование, и вывод output40.dat, например. (Я в основном пытаюсь запустить несколько рабочих мест параллельно в очень элементарным образом, оказывается, что мой компьютер имеет много оперативной памяти для этого). Я встречая вопрос о том, что> и | Команды тройники, кажется, не работает, когда я использую «Exec» для запуска команды на удаленном экране, несмотря на попытки начать Баш оболочку командной строки; когда я использую эти команды, он просто выводит на стандартный вывод. Хотя эти команды работают с командой «вещами», я не знаю, как передать номер задания на вещи, как это, кажется, работает только со строковыми входами. В настоящее время попытки сценария выглядит следующим образом. Я заменил сценарий моделирования с эхом и> для более простого примера проблемы. Ни один из двух последних строк экрана работает. для я в 1:10; сделать экран -Sdm сессии $ я колотить экран -S сессии $ я -X Exec эхо $ я> runnumber $ i.output (метод 1) экран -S сессии $ я -X вещи $ 'Эхо $ я> runnumber $ i.output \ г»(метод 2) сделано Может ли быть легко исправить? для более простого примера проблемы. Ни один из двух последних строк экрана работает. для я в 1:10; сделать экран -Sdm сессии $ я колотить экран -S сессии $ я -X Exec эхо $ я> runnumber $ i.output (метод 1) экран -S сессии $ я -X вещи $ 'Эхо $ я> runnumber $ i.output \ г»(метод 2) сделано Может ли быть легко исправить? для более простого примера проблемы. Ни один из двух последних строк экрана работает. для я в 1:10; сделать экран -Sdm сессии $ я колотить экран -S сессии $ я -X Exec эхо $ я> runnumber $ i.output (метод 1) экран -S сессии $ я -X вещи $ 'Эхо $ я> runnumber $ i.output \ г»(метод 2) сделано Может ли быть легко исправить?
Chris Rollins
1

голосов
1

ответ
363

Просмотры

if folders exist - by using wildcard [duplicate]

This question already has an answer here: Test whether a glob has any matches in bash 18 answers or "How to handle prefixed folder names?" Inside a folder I have two (or more) foo_* folders foo_0 foo_1 What I'm trying to achieve is to perform an action if there's 1 or more foo_* folders Use a wildcard * Currently I'm doing it this way (going directly to check if directory foo_0 exists): prefix=foo_ if [ -d "./${prefix}0/" ]; then printf "foo_0 folder found!" # delete all foo_* folders fi Having directories 0-to-N so the above works, but i'm not sure I'll always have a foo_0 folder... I'd like to do use a wildcard: prefix=foo_ if [ -d "./${prefix}*/" ]; then # By using wildcard... printf "One or more foo_* folders found!" # this never prints # delete all foo_* folders fi I've read that a wildcard * inside quotes loses its powers, but placing it outside quotes throws : if [ -d "./${prefix}"* ]
Roko C. Buljan
1

голосов
1

ответ
28

Просмотры

running shell command using python subprocess [duplicate]

This question already has an answer here: Actual meaning of 'shell=True' in subprocess 5 answers why python's subprocess.Popen() behavior is odd when running shell command as string and as list? when should we pass shell command as string and as list? >>> import subprocess >>> p = subprocess.Popen('du -sh *', stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) >>> stdout, _ = p.communicate() >>> print stdout[:1000] 244M bin 3.1M bmps 14M buildweb 10M contrib 4.0M gobuild 168K gobuild-starter-kit 468K gobuild-test 3.6M lib 46M machines 1.4M machineweb 75M microservices 1.4M monthly_maintenance 20K perforce 9.1M scheduler 196K service 2.5M statusweb 516K storage 228K symindex 7.2M webapps >>> p = subprocess.Popen('du -sh *'.split(), stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True) >>> stdout, _ = p.communicate() >>> print stdout[:1000] 8 ./statusweb/infrastructure/management/commands 12 ./statusweb/infrastructure/management 16 ./statusweb/infrastructure 48 ./statusweb/statusweb/settings 56 ./statusweb/statusweb 164 ./statusweb/dashboard/migrations 8 ./statusweb/dashboard/tests/fixtures 64 ./statusweb/dashboard/tests 12 ./statusweb/dashboard/static/dashboard/img 12 ./statusweb/dashboard/static/dashboard/css 48 ./statusweb/dashboard/static/dashboard/js/status 12 ./statusweb/dashboard/static/dashboard/js/spec 72 ./statusweb/dashboard/static/dashboard/js 100 ./statusweb/dashboard/static/dashboard 104 ./statusweb/dashboard/static 36 ./statusweb/dashboard/templates/dashboard/dust 32 ./statusweb/dashboard/templates/dashboard/emails 88 ./statusweb/dashboard/templates/dashboard 8 ./statusweb/dashboard/templates/admin/dashboard/issue 8 ./statusweb/dashboard/templates/admin/dashboard/maintenance 20 ./statusweb/dashboard/templates/admin/dashboard 28 ./statusweb/dashboard/templates/admin 8 ./statusweb/dashboard/templates/registra
Murali Mopuru
1

голосов
1

ответ
267

Просмотры

Баш, если неверен арифметический оператор

value1 = ns1.abc.nl. значение2 = ns2.abc.nl. value3 = ns3.abc.nl. для доменов в $ (кот /home/carlito/Desktop/output.txt) сделать для сервера имен в $ (коротких NS $ доменов рыть +) делать, если [[($ $ -eq сервер имен значение1) || ($ $ -Eq сервер имен значение2) || ($ Nameserve $, то эхо "$ доменов Namserver локален" >> / дома / Карлито / Desktop / resultaat.txt перерыв еще эхо "$ доменов namserver не локальный" >> / дома / Карлито / Desktop / resultaat.txt фи сделаны сделано Так меня возникли проблемы с IF линии скрипте сообщения об ошибке = «ошибка nszero1.axc.nl .: синтаксис: недопустимый арифметический оператор (маркер ошибки». .axc.nl „“ цель этого сценария. = «получить выход. TXT (список доменов)»„ то рыть + короткие NS $ домены“, а затем проверить, если его на моем привилегированной имя сервера $ Value1,2,3 если истина = хорошо, если ложно = плохо я уже пытался что-то вроде: значение =" ns1 .abc.nl. / ns2.abc.nl / ns3.abc.nl «. для доменов в $ (кот /home/carlito/Desktop/output.txt) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не локальные» фи сделано Но что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо затем выкопать + короткие NS $ домены, а затем проверить, если его на моем привилегированной имя сервера $ Value1,2,3 если истина = хорошо, если ложно = плохо я уже пытался что-то вроде: значение = "ns1.abc.nl./ns2. abc.nl/ns3.abc.nl «. для доменов в $ (кот /home/carlito/Desktop/output.txt) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не локальные» фи сделано Но что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо затем выкопать + короткие NS $ домены, а затем проверить, если его на моем привилегированной имя сервера $ Value1,2,3 если истина = хорошо, если ложно = плохо я уже пытался что-то вроде: значение = "ns1.abc.nl./ns2. abc.nl/ns3.abc.nl «. для доменов в $ (кот /home/carlito/Desktop/output.txt) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не локальные» фи сделано Но что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо 3, если истина = хорошо, если ложно = плохо я уже пытался что-то вроде: значение = «ns1.abc.nl./ns2.abc.nl/ns3.abc.nl.» для доменов в $ (кот /home/carlito/Desktop/output.txt) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не локальные» фи сделано Но что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо 3, если истина = хорошо, если ложно = плохо я уже пытался что-то вроде: значение = «ns1.abc.nl./ns2.abc.nl/ns3.abc.nl.» для доменов в $ (кот /home/carlito/Desktop/output.txt) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не локальные» фи сделано Но что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо TXT) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не является локальными» фи сделаны Но то, что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо TXT) делать, если рыть + короткие NS $ доменов == $ значения, то эхо «$ доменов LOCAL» еще эхо «$ домены не является локальными» фи сделаны Но то, что это делает, если domain.nl = ns1.abc.nl. / ns2.abc.nl это еще эхо: не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо Не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо Не является локальным. Но я хочу, чтобы сценарий Echo = истинно, если оно имеет по крайней мере 1 из значений. может кто-нибудь мне точку в правильном направлении, которое функционирует я должен использовать и то, что я делаю неправильно с, если линиями? заранее спасибо
Mrc
1

голосов
0

ответ
410

Просмотры

Открыть новый терминал в Git Bash с заданными командами

Я пытаюсь написать псевдоним, чтобы открыть несколько новых терминалов Bash и запустить данную команду в каждом из них. От этого вопрос: Как запустить окно Git Bash с рабочим каталогом с помощью сценария? У меня есть псевдоним, который открывает несколько окон в нужной папке, но я не могу понять, как получить каждое окно для запуска любых команд без ввода их вручную после. Это то, что я получил до сих пор: псевдоним openterminals = '(кд C: / папка / один && начать ш --login); (Кд C: / папка / два && начать ш --login); (C: / папка / три && начать ш --login);»
Tabitha Hastie
1

голосов
1

ответ
90

Просмотры

Получить состояние выхода процесса по трубопроводу в другой, при использовании Python paramiko

Я использую paramiko отправить команду SSH на удаленный хост и проверьте полученный код ошибки. Что-то вроде этого:. Клиент = paramiko.SSHClient () client.set_missing_host_key_policy (paramiko.AutoAddPolicy ()) client.connect (имя хоста = хост, порт = порт, имя пользователя = пользователь) чан = client.get_transport () open_session () чан. SetTimeout (тайм-аут) chan.set_combine_stderr (True) chan.get_pty () chan.exec_command (команда) статус = INT (chan.recv_exit_status ()), если статус: # получил-0 нон статус выхода, если я здесь SYS. выход (статус) client.close () Это прекрасно работает в том, что я могу отправлять команды SSH и возвращает код ошибки процесса. Но что, если я посылаю команду SSH, которая включает в себя трубу, такие как «эхо„привет“| Тройник mylog.log? В этом случае статус выхода возвращается в качестве переменной «статус» в коде выше, будет статус выхода для тройника, а не процесс поступает в него. (Очевидно, что это эхо-команда не будет терпеть неудачу, но на самом деле я собираюсь запустить сценарий оболочки и трубы, чтобы тройник, и это состояние выхода из сценария оболочки мне любопытно). Сейчас в Баш скрипт я могу просто использовать $ {PIPESTATUS [0]}. Есть ли подобное в paramiko? Способ использования paramiko, и быть в состоянии трубы и тройник, и выяснить статус выхода команды Piped?
ffConundrums
1

голосов
1

ответ
32

Просмотры

Как я могу установить CRONTAB для запуска в день после указанной даты? [Дубликат]

Этот вопрос уже есть ответ здесь: выражение Cron запускать каждый день, начиная с датой 4 ответа я не получил ни малейшего представления о запуске программы ежедневно после указанной даты, чтобы idefinitely с помощью кронтаба. Я попытался ниже команду, но она не работает. python3 $ (дата = $ (дата +% Y% м% д), если [$ дата -gt 20180315], а затем эхо '--version', иначе эхо '/home/raman/Desktop/testp.py'; фи ) Где 20180315 = это указано дата, когда я должен запустить программу.
Raman Kumar
1

голосов
0

ответ
169

Просмотры

Перечислим сертификаты PKCS12 и получить их срок годности

Я хочу перечислить сертификаты .p12 файла, а затем использовать OpenSSL x509 -enddate для вывода их срока годности. Вот моя команда: OpenSSL PKCS12 -в /download/key.p12 -nokeys -passin передать: "123456" -clcerts | OpenSSL x509 -enddate Тем не менее, просто остановился после обработки первых сертификатов, но в key.p12, есть другие сертификаты, и я хочу знать их все. Есть хороший способ, чтобы просмотреть все сертификаты, а затем получить все их срок годности?
user8704683
1

голосов
1

ответ
128

Просмотры

Переменные в Automator не работает?

Я пытаюсь установить переменные в Automator, но, видимо, это не работает? Она выводит только последнюю переменную; «Переменная2». Что я делаю неправильно? Это то, что я пытаюсь сделать Ask для текста Установить значение переменной: Var1 Задайте для текста Установить значение переменной Var2 Получить значение переменной Var1 Получить значение переменной сценария Переменная2 Run Shell (в качестве аргументов): для F в «$ @ "делать эхо "$ 1" "$ 2" сделано
Sjur
1

голосов
1

ответ
26

Просмотры

Интерпретация SED команды

Я наткнулся ниже SED заявления в нашем сценарии оболочки. СЕПГ -n "/ компл -A $ REC /, / # $ {REC} _END / р" Я знаю, что опция -n подавляет автоматическую печать и р для отображения. Являются ли содержимое внутри /../ простой строки или другая команда используется в вышеуказанном заявлении? (Набор -A)
Sindhu Choudary

Просмотр дополнительных вопросов