Линукс периодическая проверка системы скрипт или утилита

Есть часто используемый скрипт или программа для периодической проверки файловых систем Linux для изменения, такие как разрешение или изменение владельца файлов конфигурации.

Я думаю что-то подобное в OpenBSD безопасности(8), которая может выполняться еженедельно или ежедневно по расписанию, а сделать простой отчет об изменениях, но специально для Linux или переносимыми между различными Unix-подобных систем.

Я в основном заинтересованы в Линукс красная шляпа, но любая отправная точка, с портативной утилиты или какие-либо аналогичные ОС было бы здорово.

Я посмотрел на Фам и делаем , но кажется, эти API-интерфейсы предназначены для использования разработчиками приложений, а не системных администраторов, которые просто хотят, чтобы периодически следить за изменениями в некоторые файлы и каталоги.

+55
Kristoffer Winther Balling 2 авг. 2010 г., 17:07:47
31 ответов

Вы не говорите, что вы хотите найти в file1 (колонна, вся линия, регулярное выражение, строка, частичная или полная и т. д.) так что это лишь предположение, но, возможно, это то, что вы пытаетесь сделать ( полный-поле совпадение строки столбца 4 к столбцу файл1 файл2 3):

$ на awk 'ШП==ФНР{а [3$]; Далее} (ФНР==1) || ($4 в)' ФС='[|]' файл2 ФС='\Т' файл1
На Col1 И Col2 С Col3 Col4 Col5
Б 2 ТТ ее РР 
с 3 КК ЗЗ ПП

или, может быть, это (сравнение всех столбцов из файла file2 против 3 конкретных столбцов из файла file2 в полном объеме-поле строка совпадает по порядку):

$ на awk 'ШП==ФНР{а[$1,$2,$3]; Далее} (ФНР==1) || (($1,$3,$4) в)' ФС='[|]' файл2 ФС='\Т' файл1
На Col1 И Col2 С Col3 Col4 Col5
Б 2 ТТ ее РР 
с 3 КК ЗЗ ПП

но там тоже десятки других возможностей. Проблема с примере вы указали, что есть так много комбинаций из спичек можно производить ожидать, учитывая ваше размещен образец входного.

+950
Gordana Minovska 03 февр. '09 в 4:24

Когда в папке /var/www и HTML-документов и регистрация разрешения "." папку. это может быть, что Митч не имеют те же разрешения, что, таким образом, не могут удалять/изменять вещи в этой папке, но так как вы запустили команду chmod рекурсивно до того, Митч бы 775 разрешения во всех подкаталогах каталога /var/www и HTML-верстки.

Исправить:

компакт-диск в /var/www в/HTML-код
команда chgrp ВСП .
чмод 775 .
+947
alexp206 21 авг. 2011 г., 08:56:09
Другие ответы

Связанные вопросы


Похожие вопросы

У меня вопрос ко всем ОС Qubes на "знающих" здесь. На самом деле я с Linux Mint, и я люблю его. Я не хочу, чтобы изменить его для моей повседневной жизни. Это мой быстрый запуск системы без проблем!

Кроме того, что бегаю Whonix на виртуальной машине. Я люблю его за Тор вещи и это здорово в безопасности, но теперь я нашел что-то лучше для меня.

Qubes на ОС. Я люблю эту систему, но я не хочу удалить систему Линукс Минт. Поэтому я решил запустить в виртуальной машине и удалить мои системы Whonix в этом VM.

Теперь вопрос: достаточно ли это безопасный или делает Qubes на ОС смысл, когда я установить его на мой жесткий диск? Проблема: я не хочу перезагружать систему каждый раз, когда я хочу войти в ТОР или мяты. Это причина, почему я изменил мои привычки из хвостов ОС Whonix.

Может быть, кто-то может помочь мне с этой проблемой"".

Qubes на ОС в виртуальной машине ... да или лучше нет?

Милые поздравления

+929
quest guest 16 янв. 2019 г., 04:57:22

Этот СЭД работает для меня:

СЭД -р с/.*название=".*" (.*") д.*/\Кластер 1/' 
имя_кластера="BYSL_Dev"

Когда кластер находится этот файл:

кластер кошка 
<данные:идентификатор="Маниш.МГК " название="Маниш" имя_кластера="BYSL_Dev" developmentMode="ложных" parallelStartEnabled="истинный"> <stateManagement данные:идентификатор="StateManageable_1257282383109" initialState="начало"/>
+927
serrld113 18 апр. 2012 г., 02:42:24

Как я сказал в посте одного ... загрузка в FreeBSD-это не проблема с grub2. Вы только укажите ваш корневой раздел (во FreeBSD установка), а затем вы идете с для kFreeBSD /загрузки/погрузчик. Когда она исчезает после обновления ядра, например на вашем installatin Linux, это не проблема. Напишите его в пользовательский раздел в/etc/харч.Д/ , где создается конфигурация каждый раз в то время от.

+924
dbb 11 окт. 2010 г., 11:09:47
код=$desired_HTML_return_code
URL-адрес="https://launchpad.net/ubuntu/+ППД?name_filter=Pipelight"
_curl=$( завиток -о как /dev/stderr, в -сл -з \
 "%{http_code} %{url_effective}\\п" "$url-адрес" ) 
[ ${_curl%%[!0-9]*} -экв $код ] && {\
ППА="${_curl##*~}"
 ППА="НПА:${ППА%%/*}/${_curl##*namefilter=}" 
}

Так что я не проверял выше, но, видимо, этот парень был, и он также объясняет, очень хорошо, что различные завиток операндов делают, не говоря о многих других Вы имеете в своем распоряжении. Смысл в том, что вы используете завить себя, чтобы гарантировать его выход, а не полагаться на анализаторы в любой большой степени.

Как писали завиток должна вывести его в stdout только HTTP код возврата своего запроса и URL-адрес, Вы ее кормите - не надо быть переменной, но выше для удобства чтения и для демонстрации того, что это может быть.

Поэтому следующее, что мы делаем, ${прокладки%%*} из %%хвост этого вывода, Как далеко вперед, как мы *может , пока мы сталкиваемся с первой [персонаж] в строку !не в 0-9количество.

Затем мы [тест] полученный числовой строки против желаемому протоколу HTTP вернуть $код.

&&Если они -равные нам ${Стрип##*} от ##глава нашего храниться $_curl выход, как далеко вперед, как мы можем до последнего ~Тильда и назначить= результаты в $ППА.

Затем мы присваиваем= $ППА снова:

Строку "ППА:" плюс:

${ППА} Предыдущее значение ${меньше%%*} первая /косая черта он содержит и все после этого плюс:

Только то, что осталось от $_curl после ${удаление##*} от ##глава все до и включая строку "namefilter="

Это предлагает некоторые преимущества по сравнению с другими решениями.

Как уже говорилось, завиток гарантирует ее стандартный вывод только на короткие строки "$код $URL-адрес", но, как писали, он также посылает HTML-код результатов вашего терминала для отладки в стандартный поток ошибок. Ее результаты не поглощен разбором программы.

Только два приложения здесь: завить и все, что в POSIX-совместимые оболочки, в которой вы вызываете его.

Результаты явно испытана в среде текущей оболочки, а не расходуется на дальней стороне subshelled трубы не являются результатом регулярного выражения.

У него есть один недостаток:

Это зависит от "namefilter=$результат" быть хвост свой URL-адрес строки. Его можно обрабатывать, используя те же механики применяются здесь, если это не так, но он, вероятно, потребует по крайней мере один более командной оболочки. СЭД и программисты предлагают более мощные строку поиска, чем просто ${параметр##расширении} Глобс когда-либо мог.

Но ведь мы адаптируем завитокс выходом к нашей цели в первую очередь вам не нужна мощная строку поиска. Пока нужный код HTTP возвращается к скручиванию и ваш выход должен быть "namefilter=$desired_string" тогда я не понимаю, как $ППА может когда-нибудь сравняется ничего он не должен.

Если вы должны принять нескольких HTTP коды возврата код [тест] должно выглядеть так:

коды="$код1 $код2 $code3"
...
[ "${коды#*"${_curl%%[!0-9]*}"} -не "$коды" ] && ППА=...
+916
FastLizard4 9 июл. 2010 г., 16:19:20

У меня есть несколько архивов с помощью gzip; однако они имеют расширение зип не ГЗ: ***.молния

Когда я пытаюсь распаковать их распаковать, я вам не zip-архиве ошибка, и с помощью gunzip я вам неизвестны суффикс: молния

Что здесь происходит на самом деле?

+904
DaveGauer 8 апр. 2017 г., 09:07:55

Фон:

(1) у меня есть набор данных из научной нотации:

0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.503832 е-05, 1.433673 е-05, 2.557402 е-05, 
 3.081098 е-05, 4.044465 е-05, 2.480817 е-05, 2.681778 е-05, 1.533265 е-05, 
 2.3156 е-05, 3.193812 е-05, 5.325314 е-05, 1.639066 е-05, 0, 0, 0, 0, 0, 0, 
 0, 0, 0, 0, 0, 2.259782 е-05, 0.0004197799, 2.65868 е-05, 0.0002485498, 
 3.485129 е-05, 2.454055 е-05, 0.0002096856, 0.0001910835, 1.969936 е-05, 
 2.974743 е-05, 8.983165 е-05, 0.0004263787, 0.0004444561, 0.000241368, 0, 
 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0

(2) я хочу добавить некоторые значения в эти ненулевые значения.

(3) благодаря теплому помощи от других стека обмен пользователи, у меня есть решение с помощью:

на Perl -ЧП 'с/([0-9.Е-]+)/$1 == 0 ? $1 : .001 + $1/Ге' < input.txt > output.txt

Моя Проблема:

У меня есть два следующих вопросов:

(1 квартал) я знаю, что от СЭД, мы можем, говорит, извлечь несколько строк из входного файла и сохранить эти строки в выходной файл:

СЕПГ -Н (123,345 п) input.txt > output.txt

Которые выделяли линии 123 к строке 345 от input.txt и спас ouput.txt.

Однако, я не имею идеи, как я могу изменить выше на Perl скрипт для добавления номера в указанный строк из файла ASCII.

(Вопрос 2) Могу ли я добавить параметр выше на Perl скрипт такой, что мои изменения будут добавлены в input.txt файл? Я пытался изменить -Пе , как -ОПЭ но, кажется, не работает.

Любая помощь будет оценили.

+864
Michael Henry Zimmerman 29 дек. 2014 г., 09:02:47

Не полностью, как в некоторых дистрибутивах по сей день используют деготь как их "менеджер пакетов". Однако обычно можно посмотреть в/etc/вопрос , чтобы получить имя дистрибутива и выхода из системы, и сделать некоторые выводы. В качестве альтернативы, вы можете просто проверить наличие двоичные файлы, как Юм, у up2date, АПТ, выйти, Пакман, самогон, порт, шоколадаи так далее. Однако, это может не интересно на (скажем) в Debian-производных системы, после чего кто-то решил попробовать и сделать ням работать.

+750
user1068 27 июн. 2017 г., 04:45:41

Вам не нужно СЕПГ , чтобы сделать это, вы можете использовать некоторые базовые Грэпс, чтобы вытащить звезду (*) линии к вершине. Скажем, например, у вас был этот файл:

$ кот sample.txt 
1
2
3
4
* 5
* 6
* 7
8
9
10

Теперь рассмотрим более подробно в sample.txt файл поставив звездочку (*) строки первой:

$ кот <(sample.txt команда grep '*') <(команда grep -v с '*' sample.txt)
* 5
* 6
* 7
1
2
3
4
8
9
10

Выше будет работать 2 Грэпс, 1-й тянет все строки со звездами, в то время как 2-й тянет все не снялся линии. Вывод из этих 2 команд перенаправляется в качестве входных данных для кошки в команде <() нотации.

Альтернативный метод

Если вы не хотите использовать кота + на 2 подоболочек вы можете сделать как предложил @terdon:

sample.txt $ команда grep '*'; грэп -в '*' sample.txt

Это будет вытащить все строки из sample.txt что включают в себя звездой ( * ), а затем все строки, которые не.

Ссылки

+638
Bibek Shakya 26 авг. 2013 г., 18:17:42

Код:

верхний () {
 my_echo "${1}" | ТР "[:нижняя:]" "[:верх:]"
 возвращает 0
}

Чтобы сделать это читать из стандартного ввода, если нет аргументов:

верхний () {
 ( (( $# )) && е '%з\п' "[email protected]" || кот ) |
 тр '[:нижняя:]' '[:верх:]'
}

Эти тесты против $#число позиционных параметров, и если это ноль, он использует кота чтения из стандартного входного потока, в противном случае он использует е на позиционные аргументы. Это затем передается в ТР.

Я удалил возвращает 0, поскольку вы, вероятно, хотите знать реальное состояние выхода трубопровода.

В Баш, вы можете сделать

верхний () {
 (( $# )) && е '%з\п' "${@^^}" || тр '[:нижняя:]' '[:верх:]'
}

Когда нет аргументов, это не использовать ТР на всех, но в bash ${параметр^^шаблон} подстановка в свою очередь, все аргументы в верхнем регистре (использование ,, в нижнем регистре).

Вы можете или не хотите изменить функции printf строка формата, так что это '%ОВ ' , а не '%з\п' в зависимости от того, чего вы хотите достичь.

+629
Alireza Afzal aghaei 11 окт. 2011 г., 17:32:15

Как правило, переменная-это место для хранения ценностей. Вы присваиваете значение переменной (переменная="значение"), и после этого вы можете вспомнить значение переменной расширения (пишу "$ВАР" эквивалентно записи "некоторое значение").

Это можно сделать переменными, что делать что-то особенное, когда вы присваиваете значение их, или при других обстоятельствах, где снаряд получает доступ к переменным. Атрибут переменной пометку о том, что в магазинах оболочки рядом с именем и значением переменной, которая рассказывает оболочка для установки этого особого поведения.

Один пример

заявляю-Я х говорит оболочке, что Х должен содержать только целочисленные значения. Обычно, когда вы присваиваете значение переменной, оболочка принимает строку в результате расширения правой стороны от знака равенства и сохраняет его в качестве значения переменной. Но если переменная имеет целочисленных атрибутов, оболочка разбирает эту строку как арифметическое выражение и сохраняет результат вычисления этого выражения. Например:

$ х=2+2; Эхо $х
2+2
$ заявляю-Я х; х=2+2; Эхо $х
4
$ заявляю-Я х; х=2+привет; Эхо $х
2
$ заявляю-Я х; х=2+
Баш: 2+: ошибка синтаксиса: ожидается операнд (маркер ошибка "+")

(Третья строка с х=2+привет комплектов х в 2, потому что привет - это имя переменной, которая не определена, и неопределенные переменные молча интерпретируется как 0 по умолчанию.)

Больше примеров

  • объявить -л ВАР заявляет, что ВАР должен содержать только строчные буквы. Когда оболочка хранит значение переменной, он преобразует все прописные буквы в строчные.
  • заявляю-у ВАР делает преобразование в другую сторону.
  • заявляю-Р ВАР делает ВАР только для чтения, которая также является особым поведением назначение: вызывает каждое последующее задание Вар на провал.
  • объявить -х ВАР приводит к Варе , чтобы быть экспортированы в окружающую среду. Для этого атрибута, особое поведение происходит, когда Баш запускает внешнюю команду: внешние команды увидеть среду, содержащую переменные, раковина экспорта на момент оболочка запускает внешнюю команду.
+598
user229639 21 нояб. 2019 г., 05:47:28

Я установил Линукс Минт 10.У меня NVIDIA видеокарты GeForce 9500 ГТ.После установки нвидиа-текущий пакет,мое разрешение экрана становиться 800*600.Нет 1024*768 в меню монитора.

Работает inxi -ГХ показывает,

Видеокарта: Видеокарта NVIDIA G96 [GeForce для видеокарты 9500 ГТ] X.Org 1.9.0 РЭС: [email protected] 
 Комплектации GLX рендеринга Н/В комплектации GLX версия N/прямой рендеринг н/д

Понятия не имею, что происходит.Любой указатели?

+556
mesglik 7 дек. 2015 г., 14:51:28

Я пытался установить Ubuntu 18.04.1 LTS на мой ноутбук Асер TravelMate p248-мг, с помощью USB-загрузочный. Я выбрал мой USBBootable из диспетчера загрузки, чтобы загрузить загрузочный, затем установил его. После установки, Убунту говорит, что это закончено, и я должен перезагрузить мой ноутбук. После перезагрузки, почему это всегда загрузить MS-ОС Windows-10? Я ожидал, что это первое шоу жратвы, но он всегда загружает в MS-ОС Windows-10.

My BIOS/BOOT

My Bootmanager

+521
Yggep 29 мая 2013 г., 05:06:35

Из этого вывод один, вы не можете определить, какие программы называют команды mkdir команды.

Если у вас есть БСД учетного процесса, следующая команда показывает, какие программы были ПИД 24114:

дамп-учетный файл /var/журнал/счета/pacct | на awk -Е '|' '10 $~ / 24114 / {печать}'

Это, наверное, рыб. Столбец 10 (С | в качестве разделителя) содержит ПИД записанного процесса с последующим его идентификатор, чтобы повторить поиск с этих двух, чтобы увидеть, что программа вызывается ш и так далее. Вы также узнаете, в какое время начался процесс, который может помочь выяснить, какое задание это было.

С демонов auditd в одиночку, вам нужно записать не только команды mkdir звонок, но все доступы к этой директории, так как для записи команд, перейдите в каталог или открыть в ней файлы. Если создается новый каталог, но ничего не получит, я не думаю, что в одиночку демонов auditd достаточно, чтобы понять это.

+500
Phasefire 11 нояб. 2012 г., 14:40:31

Его Гном-терминал и расположение должно быть /usr/Бен/гном-терминал

+486
Shan Khan 24 сент. 2018 г., 01:44:58

У меня Dell ноутбук Inspiron 13 7000 ноутбук с Linux-разделами дерево. В первый раз я установил ОС Elementay Локи, и он работает отлично и все программы мне нужны, поэтому я была очень счастлива с ним. Но у меня задачи установить более двух раз Linux и в Ubuntu 18.04, я установил его. Когда я перезагрузил мой компьютер, мои элементарно не появлялся больше на моем меню с UEFI. Я вернулся на Ubuntu и сделал апгрейд-файл grub2. Но до сих пор не появляются. Итак, у меня установлен Debian Стреч с надеждой, что она сможет найти элементарно, но это не. Это мой раздел диска:

Дискотека /Дев/СДА: 238,5 Гб, 256060514304 байт, 500118192 sectores
Единицах: sectores де 1 * 512 = 512 байт
Сектор Tamaño де (lógico/físico): 512 байт / 4096 байт
Tamaño-де-е/с (низкой/óptimo): 4096 байт / 4096 байт
Типо де представлена де диско: ОПС
Identificador-дель-диско: E35C4188-5EF5-4C77-9FB7-FC476315A1FD

Disposit. Comienzo Окончательной Sectores Tamaño Типо
на /dev/sda1, поскольку 2048 1025484 1023437 499,7 м система ЭФИ
на /dev/sda2 1026048 1288191 262144 128М Резервадо пункт Майкрософт
на /dev/sda3 в качестве 1288192 177070079 175781888 83,8 г система де ficheros де Линукс
на /dev/sda4 в 177070080 208320511 31250432 14,9 г подкачки Linux 
на /dev/sda5, поэтому 208320512 345038847 136718336 65,2 г система де ficheros де Линукс
на /dev/sda6 345038848 500117503 155078656 74Г система де ficheros де Линукс

sda3 в качестве является Ubuntu, ПДД 5 начальное и sda6 в Debian

И это мой файл boot в начальной

/медиа/темп/@/загрузки$ ЛС Аби-4.13.0-32-универсальный файл initrd.ИМГ-4.13.0-32-универсальный конфиг-4.13.0-32-универсальные системы.карте-4.13.0-32-универсальный vmlinuz-4.13.0-32-универсальный Эфи жратва vmlinuz-4.13.0-32-универсальный.Эфи.подпись

Это есть ли возможность восстановить мой элементарный, как раньше?

+454
Shonte Davis 2 июн. 2011 г., 17:53:21

Самый простой способ что-то отступа использовать пробелы, а не табы. Особенно не вкладки с нестандартной шириной (поскольку есть стандартная ширина табов, это 8).

Второй-простым способом индент-то с вкладками для создания файла с пробелами и вызовите команду unexpand , чтобы заменить пробелы табуляцией.

Это, как говорится, вы можете сделать это в М4, но вы будете иметь, чтобы получить больше знакомы с ним. Инкрементное построение выражения: получите одну часть работы, затем переходить к следующему.

дляпеременная элемента не стандартная М4 макрос. Я думаю, вы имеете в виду дляпеременная элемента макро представлено в GNU М4 инструкция. Это пример кода, который поставляется с GNU М4 (в инструкции не очень понятно), чтобы использовать его в вашем коде, вы должны включить его в явном виде. Дистрибутивы могут или могут не отправить его, так что вам лучше распространять его с вашим кодом.

Есть несколько проблем синтаксиса в коде.

  • Вы оставили призыв к дляпеременная элемента вне всяких цитат, так это оценивали на момент определения оценивается, не в то время debug_macro оценивается.
  • К оператору ifelse макрос не выбрать на основе значения первого аргумента один, сравнивает свои первые два аргумента — это дело макрос: надо позвонить оператору ifelse(..., 0, 0, 1) или оператору ifelse(... == 0, 1, 0, 1).
  • # начинается комментарий. М4 игнорирует все после комментария. Изменить комментарий разделитель при определении debug_macro макро.

Следующий код работает так долго, как аргумент не слишком долго:

включают в себя(`/usr/доли/док/М4/примеры/дляпеременная элемента.М4')ДНЛ
changecom()ДНЛ
определите(`debug_macro', `
#ifndef $1_DEBUG
#определить $1_DEBUG`дляпеременная элемента(`я',`1',ивал(5-(лен($1)/4+оператору ifelse(эвал(лен($1)%4), 0, `0', `1'))),` ')0
#за endif

')ДНЛ
changecom('#')ДНЛ

С аргументом, что вызывает максимальный цикл индекса становится меньше или равно 0, цикл выполняется около 232 раз (М4 использует 32-битную арифметику по модулю). Нужен дополнительный тест в этом случае. Ниже показан код, который вставляет одну вкладку, когда аргументов слишком длинный.

включают в себя(`/usr/доли/док/М4/примеры/дляпеременная элемента.М4')ДНЛ
changecom()ДНЛ
определите(`debug_macro', `
#ifndef $1_DEBUG
#определить $1_DEBUG`дляпеременная элемента(`я', `1', оператору ifelse(эвал(лен($1) >= 16), 1, 1, ивала(5-(лен($1)/4+оператору ifelse(эвал(лен($1)%4), 0, `0', `1')))),` ')0
#за endif

')ДНЛ
changecom('#')ДНЛ
+354
user97952 30 июн. 2015 г., 14:36:35

То, что я пытаюсь сделать, это запустить Python в окне терминала и перенаправить его вывод из именованного канала. Потом писать в именованный канал в другой терминал и выполните следующую команду на Python.

Терминал 1:

mkfifo Р1
питон < П1

Терминал 2:

Эхо -Н "печать \"Привет Мир\"" > П1

Что происходит, - питон печатает Привет мир и выходов. Что я хочу сделать, это держать интерпретатора Python, чтобы принять следующую команду. Как я делаю это в раковине?

+347
user86398 16 янв. 2010 г., 10:22:10

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

Проблема в том, я использую скрипт как корневой, так что каталог создается с корня собственности.У меня есть текстовый файл, содержащий имена каталогов и подкаталогов, и я использую эту команду, чтобы сделать это:

кошка dirname.txt | команды xargs -Л 1 команды mkdir

Который выглядит так:

гражд/тугриков
сет/тугриков/Хэллоуин
гражд/ДНС/Лок

Я попробовал команду sudo , но только родительский каталог получает нужного пользователя собственности.

+296
Nagesh Salunke 14 авг. 2010 г., 10:28:57

короткий: нет

длинные: гном-терминал-терминал. Вы запустите снаряд в терминале. Вы можете запустить любой тип оболочки (login или нет) в терминал (хотя гном-терминала делает его труднее, чем другие терминалы).

Для дальнейшего чтения:

+292
Sugi 21 мар. 2011 г., 00:13:05

Вы, кажется, недоразумение, как СЭД работает-при запуске СЭД команду Файл, его читает весь файл, и применяет изменение правил в каждой строке (если в правилах есть строка "адрес", что ограничивает, где они применяются). Так что в вашем примере, вы начинаете с файл, который имеет только три пустые строки, и выполнить сед-я -е "я\вход $имя_поля " на него, он добавляет строку, которая говорит, например, "затраты АВС" перед каждой из этих трех линий. Таким образом, у вас есть файл, который выглядит следующим образом:

ввода АБВ 

ввода АБВ 

ввода АБВ 

(Вы не можете увидеть его, но там пустая строка в конце.) Их можно запустить СЭД -я -Е С/^/ /', и это добавляет четыре пробела перед каждой строки (включая пустые):

 ввода АБВ 

 ввода АБВ 

 ввода АБВ 

Затем запустите СЕПГ -я '/^[[:пробел:]]*$/D'и, что на самом деле делает то, что вы ожидаете, она удаляет строчки с ничего, кроме пространства, уходя:

 ввода АБВ 
 ввода АБВ 
 ввода АБВ 

Затем, в следующей итерации цикла, вы запустите СЕПГ -я -е "я\вход деф ", что опять же добавляет, что новая линия до каждой из существующих линий:

ввод деф 
 ввода АБВ 
ввод деф 
 ввода АБВ 
ввод деф 
 ввода АБВ 

А затем СЕПГ -я -Е 'С/^/ /' снова добавляет 4 пробела в начале каждой строки (в том числе и те, которые уже были пробелы):

 ввод деф 
 ввода АБВ 
 ввод деф 
 ввода АБВ 
 ввод деф 
 ввода АБВ 

...и т. д. Это не делать то, что вы хотите вообще.

Если я понимаю, что ты пытаешься сделать, СЭД - это действительно неправильный инструмент для работы. Вместо того, чтобы отредактировать существующий файл, что вы, кажется, хотите, чтобы просто создать новый файл, добавив к построчному его. Вы можете сделать это довольно легко, как это:

: >"$Файлы" # это освободит файл (в случае, если там что-то есть от последнего запуска)

Я=0
для имяполя в размере
делать
 Эхо "номер строки $((я++)) --> $имя_поля"
 Эхо "ввод $имя_поля" >>"$файлы" # добавить строку в конец файла
сделано

Если вам не нужно печатать "строку, порядковый номер..." вещи, или можно отправить его на стандартный вывод ошибок, а не стандартный вывод (который, как правило, где вы должны отправить состояние информация, даже если это не фактические ошибки), можно сделать еще проще:

Я=0
для имяполя в размере
делать
 Эхо "номер строки $((я++)) --> $имя_поля" >&2 # в >&2 перенаправляет на стандартную ошибку
 Эхо "ввод $имя_поля"
сделано >"$файлы" # просто отправить *все* стандартный выход из цикла в файл

В любом случае, вам не нужно Нум, или выход из да для предварительной загрузки файла.

Есть куча других вещей, которые выглядят как плохой практики. Для одной вещи, ссылки на переменные должны почти всегда есть двойные кавычки вокруг них, как "файлов" в моих примерах выше. Это предотвращает их от неожиданно разделился на несколько "слов", и/или расширенного как именем маски. Я рекомендую shellcheck.net для указания на распространенные ошибки, как это.

Обратите внимание, что я не делал этого с $значение (для имяполя в $значение), потому что в таком случае вы в зависимости от оболочки разделения переменной значение в слова..., что не особо безопасный. Вы действительно хотите, чтобы перебрать все слова из входного файла, или вы хотите, чтобы петли над линиями вместо? Если вы хотите, чтобы линии, не используйте, что для ... в конструкции, использовать чтение цикла:

Я=0
пока читал имяполя
делать
 Эхо "номер строки $((я++)) --> $имя_поля" >&2
 Эхо "ввод $имя_поля"
сделано <"$ФАЙЛ1" >"$файлы" # читать входные данные из $ФАЙЛ1, писать вывод в файлы $

Увидеть BashFAQ #001: "как я могу прочитать файл (поток данных, переменная) построчно (и/или поля)?" для получения дополнительной информации.

Как @Kusalananda указал в (теперь удаленный) комментарий, если вы делаете это построчно и не нужно "номер строки..." выход на всех, вы можете сделать это с помощью sed. Но не в оболочке петли, просто позволяя СЭД сканировал сам входной файл, добавляя, что "вход" в каждую строку, как она идет:

СЭД 'с/^/ ввод /' "$ФАЙЛ1" >"$файлы"

В любом случае, вы в настоящее время копирование $файл file1 в файл буквально назван "ФАЙЛ2", то значение в переменной значение... и ничего из этого не нужно; все, что вы должны только читать непосредственно из исходного файла.

Еще одно замечание: использовать нижний или смешанный регистр имен переменных, а не заглавными буквами имен. Есть куча всего-кепки имена специальное значение для оболочки и/или других инструментов, и если вы пользуетесь одним из тех по ошибке, странные вещи могут случиться.

+258
Matt Summersgill 26 авг. 2018 г., 12:26:50

Я хочу, чтобы мои приложения для запуска вне MonoDevelop выступает. Даже после копирования всех библиотек DLL приложение просит при запуске вне MonoDevelop выступает (с моно), он по-прежнему выдает ошибку. Ошибка такая:

Необработанное Исключение:
Системы.TypeInitializationException: инициализатор типа 'ГТК.Контейнер' выбросил исключение. ---> Система.DllNotFoundException: gtksharpglue-2
 в (фантик удалось-к-родной) ГТК.Контейнер.gtksharp_gtk_container_get_focus_child_offset()
 в ГТК.Контейнер..cctor () [0x00000] в <e8d21baece374fadb4e2b3899720848c>:0 
 --- Конец внутреннее исключение трассировки стека-
 в ГТК.Бин..чтор (системы.Указателя IntPtr сырья) [0x00000] в <e8d21baece374fadb4e2b3899720848c>:0 
 в ГТК.Окно..чтор (ГТК.Тип WindowType) [0x00000] в <e8d21baece374fadb4e2b3899720848c>:0 
 в SteamNightProject.Файл MainWindow..чтор () [0x0000b] в <f203a735b9124b2ca9c13185165bab7c>:0 
 в SteamNightProject.MainClass.Основной (Системы.String[] аргументы) [0x00005] в <f203a735b9124b2ca9c13185165bab7c>:0 
[Ошибка] ошибка необработанное исключение: система.TypeInitializationException: инициализатор типа 'ГТК.Контейнер' выбросил исключение. ---> Система.DllNotFoundException: gtksharpglue-2
 в (фантик удалось-к-родной) ГТК.Контейнер.gtksharp_gtk_container_get_focus_child_offset()
 в ГТК.Контейнер..cctor () [0x00000] в <e8d21baece374fadb4e2b3899720848c>:0 
 --- Конец внутреннее исключение трассировки стека-
 в ГТК.Бин..чтор (системы.Указателя IntPtr сырья) [0x00000] в <e8d21baece374fadb4e2b3899720848c>:0 
 в ГТК.Окно..чтор (ГТК.Тип WindowType) [0x00000] в <e8d21baece374fadb4e2b3899720848c>:0 
 в SteamNightProject.Файл MainWindow..чтор () [0x0000b] в <f203a735b9124b2ca9c13185165bab7c>:0 
 в SteamNightProject.MainClass.Основной (Системы.String[] аргументы) [0x00005] в <f203a735b9124b2ca9c13185165bab7c>:0 

Я бегу Manjaro Linux-систем.

Также если кто-то хочет знать, почему я не говорю слишком много об этом, так что я не подверг критике за высказывание случайных вещей, которые не применяются в любом случае. Я буду добавлять информацию, которая запрашивается.

+201
user93512 8 мая 2013 г., 07:19:10

Вы должны использовать на awk для этого? На вставке утилита была разработана именно для такого рода вещи. Предполагая, что массив - это массив раковина:

массив=(100 200)
функции printf "%з\п" "${массив[@]}" | вставить -д, вход.CSV-файл - > выход.КШМ

В функции printf является просто поставить каждый элемент массива на новой строке. вставить вставляет вместе входные линии от входного сигнала.CSV и - (т. е. передается выхода из функции printf), используя запятую в качестве разделителя.


Если Ваш массив случается строки отдельный файл, например array.txt:

100
200

тогда это еще проще:

вставить -д, вход.КШМ array.txt > выход.КШМ
+168
Vaughn Miller 20 нояб. 2019 г., 17:29:59

Не реальный зритель, но в качестве первой помощи преобразователь может также помочь:

pdftotext файл.формат PDF - | менее

pdftohtml -stdout в файл.формат PDF | рысь -устройства stdin

pdftotext и pdftohtml являются частью Poppler пакет.

+163
Tyler Henthorn 14 мая 2017 г., 04:47:35

Нет. По крайней мере, мне не известно.

является расширением стандарта POSIX экспорта.

В POSIX наборБаш набор в POSIX-режиме) также исключает функцию определения.

+159
user86334 12 февр. 2019 г., 11:56:09

К сожалению, я не могу открыть открытым вопрос, что вы связаны, но я пробовал @npostavsпредложение (набор дисплей какое-то значение), и это, кажется, работает1.

Например:

# Список глав в удаленный репозиторий Git 
Дисплей=: setsid ЖКТ ЛС-дистанционный -ч [email protected]:NFL/tests.git

Где

$ кошка ${SSH_ASKPASS}
#!/бин/Баш
Эхо ABCSuperPassword

В этом примере, SSH_AGENT вызывается ЖКТ (набор GIT_TRACE=2 для verboser выход) эффективно обеспечивая "ABCSuperPassword" в качестве пароля для закрытого ключа.

Примечания

1 дисплей часто отключающиеся при входе в терминалы.

+157
xGen 22 авг. 2018 г., 20:21:50

Я проверяю Бро бревна и хотел бы найти способ, чтобы использовать awk, чтобы захватить ИПС от трекера ссылке и поиск Бро журналы для тех IP-адресов, автоматически, печать результатов каждого матча на [пользовательская-наименование].тхт файл.

ПОДРОБНЕЕ:

Я новичок в awk, но пытаясь сложить все вместе. Я не обязан отчитываться на awk, если есть лучший способ сделать это. Эффективным было бы хорошо.

Сейчас я вручную с помощью функции Excel для сцепления колонны плохих IP-адресов (которые регулярно обновляются по ссылке) на супер длинные awk или строку:

кошка по протоколу HTTP* | у awk '/123\.456\.789\.012/ || /2-й ИС/ || /3-й ИС/' | сортировка -Н > file.txt

В настоящее время по протоколу HTTP.журнал имеет нормальные заголовки Бро... ТС по uid идентификатор.orig_h идентификатор.orig_p и т. д.

С точки зрения непрофессионала, что я пытаюсь сделать, это:

Если IP в строке 1 ссылка находится в HTTP.журналов, печать результатов line_1_ip.txt если IP в строке 2 ссылка находится в HTTP.отчет, результаты печати line_2_ip.txt и соавт.

Фрагмент ИПС будет выглядеть так:

#############################################################################################
злоупотребление#.ч Зевса IP-адресов "BadIPs" (за исключением подозрительных веб-сайтов и бесплатный хостинг-провайдеров) #
# #
# Для вопросов, пожалуйста, обратитесь к https://zeustracker.abuse.ch/blocklist.php #
#############################################################################################

103.230.84.239
103.241.0.100
103.26.128.84
103.4.52.150
103.7.59.135
104.218.48.99
104.219.232.12
104.236.55.19
107.150.58.84
108.61.193.211

Это просто текстовый файл.

Когда дело доходит до на самом деле, ссылающиеся на удаленный веб-страницы, чтобы вытащить из ИПС, я честно говоря не уверен, где даже начать. Но если я могу получить его, чтобы вытащить из локального файла, что даст мне отправную точку для работы.

+144
Abhinav Nishant 21 окт. 2019 г., 19:54:48

Я использую wget, чтобы загрузить некоторые веб-страницы и я использовал вариант, не зная, что это не тратить .. или ~. Так что я нашел, я создал их после выполнения программы. Теперь проблема, как безопасно удалить их? Я не могу использовать РМ , потому что он рассматривает их как родительский каталог и домашний каталог.

+124
jorgeu 30 янв. 2018 г., 18:43:29

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

Заменить строкой ААА с другой строкой ВВВ , но есть много строк, начиная с или заканчивая ААА в ААА ,и я хочу заменить только один на линии 34 и держать другие в целости и сохранности.

Можно ли указать номер строки,во всех файлах эту строку ровно на 34-й строчке.

+21
Jack gold 16 авг. 2019 г., 00:37:31

2.6.22 слишком старое ядро, чтобы быть совместимым с 3.0

+18
Alinski 26 янв. 2012 г., 00:58:41

Показать вопросы с тегом

$200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available blue chew viagra scam buy viagra buy viagra online buy viagra online canada pharmacy buy viagra online without script canada pharmacy viagra generic canadian pharcharmy online viagra canadian viagra canadian viagra without a doctor prescription cheap viagra cialis vs viagra cost of viagra female viagra female viagra pills free viagra free viagra samples generic viagra generic viagra 100mg generic viagra available generic viagra canada price generic viagra online pharmacy generic viagra sildenafil citrate generic viagra without a doctor prescription herbal viagra how does viagra work how long does viagra last how much does viagra cost how to take viagra for maximum effect i took viagra mom levitra vs viagra mom gives son viagra natural viagra natural viagra alternatives that work natural viagra substitute nizagara 100 mg vs viagra online viagra online viagra without subscription over the counter viagra real life viagra demonstration revatio vs viagra side effects of viagra sildenafil sildenafil 100mg sildenafil 20 mg sildenafil 20 mg tablet sildenafil 20 mg tablet vs viagra sildenafil citrate sildenafil citrate 100mg sildenafil citrate 20 mg sildenafil coupons sildenafil dosage sildenafil dosage recommendations sildenafil generic sildenafil side effects sophia viagra sophia viagra bikini sophia viagra hot stendra vs viagra stepmom gives son viagra viagra viagra 100mg viagra before after photo actual viagra boner viagra canada online pharmacy viagra coupon viagra coupons viagra coupons from pfizer viagra dosage viagra dosage recommendations viagra erection viagra erection after ejaculation viagra for men viagra for sale viagra for sale on amazon viagra for women viagra generic viagra generic availability viagra generic release date viagra in action viagra on line viagra online viagra online canada pharmacy viagra online pharmacy viagra patent expiration viagra pill viagra pills viagra porn viagra prank viagra prices viagra samples viagra sex viagra side effects viagra substitute viagra vs cialis viagra without a doctor prescription viagra without doctor prescription what is viagra when will generic viagra be available $200 cialis coupon 10 mg tadalafil generic 5 mg cialis over the counter at walmart best price for tadalafil 20 mg buy cialis buy cialis generic tadalafil buy cialis online buy cialis online without script buy tadalafil buy tadalafil online canadian cialis online pharmacy canadian pharmacy cialis cheap cialis cheap cialis generic cialis cialis 20 mg best price cialis 20mg cialis 30 day sample cialis 30 day trial coupon cialis and alcohol cialis before and after cialis canada cialis canada pharmacy online cialis cost cialis coupon cialis coupons cialis coupons printable cialis dosage cialis dosage information cialis for daily use cialis for sale cialis free trial cialis free trial voucher for cialis cialis generic cialis generic release date cialis generic tadalafil cialis lowest price cialis online cialis online pharmacy cialis over the counter cialis over the counter at walmart cialis patent expiration date extended cialis picture testimonials cialis pills cialis price cialis prices cialis reviews cialis side effects cialis tadalafil cialis tadalafil 20 mg cialis vs viagra cialis vs viagra which is better cialis without a doctor's prescription cialis without doctor prescription cost of cialis cost of tadalafil generic at walgreens coupon for cialis by manufacturer does cialis lower blood pressure generic cialis generic cialis at walmart generic cialis canada generic cialis canada pharmacy generic cialis from india generic cialis tadalafil generic tadalafil generic tadalafil 20 mg is there a generic for cialis online cialis purchasing cialis on the internet side effects for cialis side effects for tadalafil side effects of cialis tadalafil tadalafil 20 mg tadalafil 20 mg canadian drug stores tadalafil 20mg tadalafil 20mg lowest price tadalafil 5 mg tadalafil 5mg tadalafil cost at walmart tadalafil dosage tadalafil generic tadalafil generic at walgreens tadalafil generic best prices tadalafil online tadalafil price tadalafil side effects tadalafil tablets tadalafil without a doctor's prescription viagra vs cialis viagra vs cialis vs levitra warnings for tadalafil