Скрипт для добавления файлов в файл рекурсивно

Я работаю грейдером и файлы, отправленные мне в конечном итоге в папке с именем ученика, который внутри определенной папки на мою долю Линукс.

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

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

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

Самое последнее обновление

Еще не совсем, но здесь работы являются изменения, которые я сделал, так что вам не придется охотиться за ними.

Я сделал некоторые изменения:

  • Одинарные кавычки в заявлении printf теперь двойные кавычки с ' в не прекращает его начале.
  • Изменены записи в -Пермь 664 записи выдал ошибку и все файлы, которые я пытаюсь изменить расположены в 644, когда они загружены. Если вы знаете способ получше, дайте мне знать.
  • Если я правильно понимаю старпома сейчас $1-это необъявленная (добавление Эхо $1 в exec аргумент подтверждает это), поэтому я добавил _filepath={} и убрал {} в конце exec для Аргументов.
  • Инициализировать _dirname с _filepath
  • В две строки, используя регулярное выражение, чтобы выделить имя каталога в кавычки не закрыты. Теперь _dirname успешно проводит просто имя каталога, затем
  • Теперь вызывает ЭД с _filepath

Я уверен, почему это не работает из-за одинарных кавычек в строке вызова Эд закрываем аргумент в exec.

текущий код:

student_head_action() {
 # Мы не можем использовать расширение параметр $ФРД из-за рекурсии
 местные _dirname="${1%/*}"
_dirname="${_dirname##*/}"

 [[ -Д $1 ]] && возвращает 0
 если ! [[ -з 1 $ & & - Ф $1 ]]; затем
 функции printf '%з\п' "$1 не существует или не доступен для записи, вприпрыжку"
 возвращение 1
интернет
 Эд -с "$1" <<< $'0а\Н - "//${_dirname}"$'\Н.\Н,С/\Р//г\з'
}

student_head() {
 местные _file
 если (( $# )); тогда
 для _file; делать
 student_head_action "${_file}" || _retval=1
сделано
еще
 если shopt -СМО globstar; затем
 для _file в **/*; у
 student_head_action "${_file}" || _retval=1
сделано
 shopt -у globstar
еще
 с printf "%з\п" "Globstar недоступен, при попытке использовать GNU найти ..."
 найти . -тип F -Пермь 644 -экзек Баш-с '
_filepath={}
_dirname=$_filepath
_dirname="${_dirname%/*}"
_dirname="${_dirname##*/}"
 Эхо $_dirname
 Эд -с "$_filepath" <<< '"$'0а\п'"'"//${_dirname}"'"$'\Н.\Н,С/\Р//г\з'" \;
интернет
интернет
 возвращение "${_retvalue-0}"
+309
tonygroves 12 авг. 2012 г., 11:54:26
29 ответов

Руководство bash говорит:

Системная оболочка является тот, чей первый символ аргумента ноль‘ -’, или одна вызывается с параметром --логин.

Он определяет оболочка входа в систему с точки зрения способов запустить оболочку входа в систему.

Кроме того, может оболочка быть определено с точки зрения его назначению?

Например, может оболочка быть определена как снаряд, который требует от пользователя для входа в систему? Например, в интерактивной nonlogin оболочки Bash, когда я запускаю Баш у входа , чтобы создать Баш оболочки входа в систему, я не должен войти. Это потому, что мои имя пользователя и пароль кэшируется и неявно повторно, или просто не выполнить задание войти?

Если оболочка не обязательно должна выполнить вход в систему, в чем его предназначение, что может охарактеризовать оболочка из nonlogin оболочки?

Спасибо.

+953
ChrisC 03 февр. '09 в 4:24

Баш команде getopts использовать переменную среды OPTIND , чтобы отслеживать последний вариант аргумента обрабатываются. Тот факт, что OPTIND не автоматически сбрасывается каждый раз, когда вы назвали команде getopts в той же оболочке сессии, только когда корпус был вызван. Так что со второго раза вы назвали команде getopts с теми же аргументами в той же сессии, OPTIND не изменились, команде getopts думал, что он сделал работу и ничего не делать.

Вы можете сбросить OPTIND вручную, чтобы сделать его работу:

$ OPTIND=1
$ Ф-123
-это было вызвано, параметр: 123

или просто поставить функцию в скрипт и вызывать несколько раз сценарий.


ЗШ команде getopts немного отличается. OPTIND обычно сбрасывается на 1 каждый раз при выходе из оболочки функции.

+923
Northerntravel 22 апр. 2019 г., 08:56:42
Другие ответы

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


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

Я не знаю, является ли это лучшая собственности и политики разрешений для установки. Вот как это реализовать.

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

В этом ответе объясняется, как настроить вашу систему для ACL и какие разрешения предоставить в общий каталог.

+895
erika3016 22 сент. 2016 г., 19:51:50

В FreeBSD 10 есть новый драйвер Вт для консоли фреймбуфер. По умолчанию он выбирает разрешение от данных EDID монитора. Однако, у меня есть дисплей, который имеет неправильные данные EDID. Поэтому, я неправильно резолюции.

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

+886
Subdigger 2 апр. 2019 г., 07:08:18

чтобы получить столбец, использовать цикл

| у awk '{для(I=$ЯТ;я>1;я -) 
 если ( $я ~ /-Dweblogic.имя/ ) { СЖР=$я; перерыв } ;
 е "... %х ...",СЖР}'

где

  • $НФ - это последнее поле
  • для( ) построить цикл от конца строки, чтобы начать
  • $я ~ /-Dweblogic.имя/ матч-Dweblogic.имя=пользователь admin1 , -Dweblogic.имя=otheradmin (вы можете /^-Д/, Чтобы не соответствовать себе)

может я sugest вы падаете грэп Ява | команда grep -v с грэп , чтобы команда grep [Дж]Ава ведьма не грэп itslef (и удивлять коллега), или

| на awk '/Ява/ {...} '

или, чтобы иметь ряд mainimal арг :

| на awk '/Ява/ && НФ>10 { ... }'
+884
kamni ray 9 сент. 2018 г., 12:45:39

У меня макбук с установленной Yosemite, а я просто добавил в раздел арки Linux, который я загрузить, используя изысканный. Арка дает мне ошибку, потому что изысканный сапоги по умолчанию с помощью "РО" параметр вместо "РВ" параметр. Я редактировал изысканный.конф, добавление ОС Раздел для арки, но с "РВ" как вариант вместо, и, когда я использую список при загрузке он выдает ошибку.

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

Вот моя ОС строфа:

menuentry "Арч Линукс" {
 значок /ЭФИ/загрузки/изысканный-минимальный/иконки/архитектура ОС.ПНГ
 том 4:
 загрузчик файл /boot/vmlinuz-Linux и
 файл initrd \пакет initramfs-linux для загрузки\
 варианты "корень=идентификатор UUID=F0778b29-8295-4d1a-в209-8582ebfe1051 rootfstype=ext4 и РВ add_efi_memmap"
}

Кроме того, мне нужно удалить .Эфи для арки, так что у меня нет двух списков для арки при загрузке... где это находится? Это на перегородки арки или загрузочного раздела EFI?

+853
user68181 27 авг. 2012 г., 15:22:36

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

Это, наверное, проще сделать новую установку.

+845
Rupika Kapoor 1 нояб. 2015 г., 05:41:11

Как я могу найти все папки, содержащие определенный файл?

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

+841
Kaushik Raghavan 26 сент. 2017 г., 04:15:32

Мы запускаем виртуальные сервера на KVM-QEMU для, используя Debian хриплый в качестве хост-системы. К сожалению, один сервер на основе Линукс Минт 17.3.

Одна большая проблема производительности Линукс Минт работает на КВМ. В Linux Mint является, вероятно, не предназначены для системы сервер на всех (3д-grapfic эффекты и так далее).

Ядро Linux поддерживает только 3D-виртуализации в новые ядра, насколько я знаю, а наши сервера только ограниченное графических либо.

Мы постараемся изменить это позже, а сейчас это статус-кво и нам нужно быстрое решение. Главная приложения на основе Java и наш партнер консалтинговой компании использует TeamViewer для удаленного администрирования (пока).

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

GRUB_CMDLINE_LINUX_DEFAULT="текст"

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

Не могли бы вы дать мне какие-то намеки на это? Было бы легко установить или невозможно?

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

Или вы думаете, что новая КВМ версии могли бы решить наши проблемы с производительностью?

+815
DaveMan 19 авг. 2011 г., 16:20:41

Я думаю, что у вас есть проблема с разрешениями. Скорее всего, где-то в пути /MNT в/ОРС/источники/установка binutils-2.32/сборки, есть каталог, в котором отсутствуют х разрешением для пользователя, который вы используете. (Это может также отсутствие Р разрешение; оно должно иметь как.) Обычно это происходит в результате создания в каталог в качестве корневого.

+813
blackxacto 10 нояб. 2014 г., 00:21:47

/библиотека/модули/3.18.1+/ядра/драйверов/видео/фреймбуферу/fbtft каталог. modinfo fbtft или команды modprobe fbtft ищет файл с именем fbtft.Ко, что должно быть в этом каталоге.

В fbtft драйвер может быть скомпилирован как модуль, или связанные с основным ядром бинарных. Если это в основном ядра двоичном тогда не будет файл в каталоге/lib/модулей. Но во время выполнения будет каталог в файловой системы, файл/sys/модуль/fbtft, содержащих различную информацию о водителе.

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

Если модули fbtft не включены в ядро вы используете, то вы должны перекомпилировать их. Но 3.4-довольно старое ядро; драйверы tbtft были добавлены в 4.0. Так что вы должны смотреть на более новое ядро. Debian Джесси, последняя стабильная версия, поставляется с 3.16; это почти последние, но не совсем. Есть и более свежие ядра в бэкпорты.

+756
shadow0359 10 нояб. 2017 г., 11:51:26

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

Источник данных файл (db_count.Ини) (Примечание: содержит пространство внутри двойных кавычек):

db_ctdy_sr=" 7"

Скрипт:

db_count источник.Ини

# Удаление пробелов сохраненных данных
n_db_sr=${db_ctdy_sr// /}

# Сумма
с=0
Б=7

Echo "значение переменной дБ:"$n_db_sr

см=$((n_db_sr + с))

Echo "значение переменной дБ:"
Эхо "$см" 
Эхо $см 

если [ "$см" = "$б" ]
тогда
 Эхо "успех".
еще
 эхо "не".
интернет

Эхо "до свидания!"

Но когда я запускаю скрипт, он всегда мне это

Значение дБ:7
") Синтаксическая ошибка неверный арифметический оператор (ошибка маркер "
Значение:


Нет.
Тю!

Какие-либо советы? Какие-либо предложения?

Спасибо!

+705
roogler 18 апр. 2013 г., 05:42:32

Предполагая, что все XML-файлы в текущем каталоге и соответствует шаблону *.в XML, и это имена файлов , которые вы хотите, чтобы файлы, которые содержит указанный XML:

$ XML для сельского -т-я '/конфигурации/модули/Company_Module[активный = "true" и codePool = "сообщества"]- Ф -НЛ ./*.в XML

При этом используется XMLStarlet (в XML, но иногда устанавливается как xmlstarlet), которая является командной строки инструмент для разбора XML.

Он пытается соответствовать указанным выражением XPath и, если они совпадают, выводит именем входного файла, содержащего соответствующие XML-файле.

С помощью XML-парсера, он не зависит от заказ теги в <Company_Module> узел.

+581
Koop4 5 окт. 2018 г., 01:46:06

В рыбе, когда я типа истории | меньше я вижу следующее например:

история | меньше
экспорт HISTTIMEFORMAT="%ч/%д - %ч:%м:%ы "
Баш

в bash я вижу это:

 491 18/04/16 14:31:компакт-диск 02 
 492 18/04/16 14:31:02 ЛС-л
 493 18/04/16 14:31:02 меньше .bashrc следующее

так что я могу повторно выполнить команду !491 например, и я тоже могу делать ревизию на моем сервере, но рыбу не есть способ, чтобы отобразить это. Я также попытался добавить время и дату с экспорта HISTTIMEFORMAT="%ч/%д - %ч:%м:%ы " , но ничего, никаких идей о том, как добавить, что как в bash?

+522
Shadow Fiend 1 авг. 2011 г., 20:30:05

Если вам нужно установить много шрифтов, то скопируйте файлы в ~/.шрифты или /usr/доли/шрифты для системы и выполните команду ФК-кэш -ФВ.

+518
Kanwal Sarwara 1 июн. 2018 г., 02:20:08

Я прочитал страницу и другие ссылки, но я по-прежнему смущает поведение найти с -print0 команды вариант.

-print0 команды это основной всегда принимает значение true. Он печатает путь
 текущий файл на стандартный вывод, а затем нул в ASCII 
 символ (код символа 0).

Первая команда:

$ найти /некоторые/путь/ -имя_экземпляра "*интро*в формате JPEG" -о-имя_экземпляра "*интро*форматы jpg" 2> /dev/нуль
/some/path//asdf199Intro-5kqlw.jpeg
/some/path/199intro-2jjaj.JPEG
/some/path/199intro-3.jpg
/some/path/wuer199intro-4.JPG
/some/path/xbzf199INTRO-1.jpg

Вторая команда:

$ найти /некоторые/путь/ -имя_экземпляра "*интро*в формате JPEG" -о-имя_экземпляра "*интро*форматы jpg" 2> /dev/нуль -print0 команды
/some/path/136intro-3.jpg/some/path/wuer136intro-4.JPG/some/path/xbzf136INTRO-1.jpg

Я вижу, что имена файлов из второй команды нулевые, разделенных характер, но почему у меня 3 выходных в отличие от 5 и выше?

+500
Tsanders 15 нояб. 2018 г., 01:38:16

Я пытаюсь сделать SiriProxy , чтобы работать, когда я подключен к моей домашней сети, Настройка раздача на мой роутер работает на прошивку Tomato, чтобы отправить все запросы к Apple, Сири сервера на моей локальной машине работает SiriProxy.

Проблема, конечно, что машина работает должен SiriProxy получить доступ к "реальной" Apple, Сири сервер. Я не знаю, как часто он меняет IP-адресов, так что самое простое решение было бы просто направить его на IP-адрес...

Однако, есть ли способ, чтобы настроить сервер dnsmasq, так что подчиняться она будет только опция "адрес" конфигурации, когда запрос является (или не является), поступающих от клиентов?

Кроме того.. у кого-нибудь есть лучшее решение?

+480
Ptheguy 9 мар. 2016 г., 12:00:36

Что бы вы в конечном итоге хотите сделать?

Если вы шестнадцатеричного представления или дд частях исходных данных в блоке, где проживает иноды то... ну, ДД и вывести отображение данных...

Использовать dumpe2fs на /dev/<устройство> | меньше , чтобы найти, где хранятся дескрипторы.

+455
Carl Hartman 2 апр. 2016 г., 08:34:22

На самом деле, если вы вводите символ в терминал, приложение будет читать этот персонаж.

Ну, точнее, если вы вводите символ в терминале, он преобразуется в один или несколько байт — большинство современных UNIX-систем используйте кодировку UTF-8 кодировку символов. Приложение считывает эти байты и собирает персонажей. Это еще не коды ASCII — ASCII представляет собой 7-битную кодировку, поэтому все символы в наборе символов ASCII поместиться в одном байте.

При вводе функции курсор или клавиши, такие как пробел, табуляции, возврата, Ф1, слеваи т. д. он закодирован как управляющий символ или escape-последовательности. Есть несколько управляющих символов, которые отвечают функциональные клавиши, такие как ^я (байт 9) на вкладке и ^М (значение байта 13) для возврата. Большинство других функциональных клавиш послать escape-последовательности, начинающиеся с символ (^[, значение байта 27).

Забой посылает управляющий символ. По историческим причинам, которые контролируют характер она отправляет зависит от терминала и от его конфигурации: это может быть либо ^ч (байт 8) или ^? (байтовое значение 127). На многих современных терминалах можно изменить в файле конфигурации; видеть , как разрешить backspaces в небуферизованная/нестандартный режим?. В случае, если параметр не подобран автоматически, вы можете объявить его как действовать до его закрытия.

Для получения более подробной информации, см. Как ввод с клавиатуры и вывод текста работы? и как сделать полный набор возможностей для определения ГНУ-экрана "команду героев"?

+392
skiv52ru 26 сент. 2018 г., 01:54:17

Во-первых, я хочу сказать , я не очень хочу изменять файл /dev/случайных доступу в продукт , это всего лишь тест, чтобы проверить, когда systemd не работает в Моби , в udev правила в /etc/udev из/правил.поведение д/ХХХХ-х

Вопрос1: почему только при использовании-контейнер более привлекательным, udev-правила управления контейнера в /etc/udev из/правил.д/ХХХ действителен ?

какой орган systemd не нужно, если systemd не нужно использовать udev, чтобы управлять устройство /dev/ХХХ файл /etc/udev из/правил.д/ХХХ ?

Question2: когда я начинаю использовать контейнер --привилегированное, почему контейнер перезагрузка изменить phycalhost каталога /dev/ХХХ доступ и использование physicalhost в файл /etc/udev из/правил.д/ХХХ правил? Я думаю, что это не разумно

Используемого дистрибутива

в RedHat 7.2

В случае отчет об ошибке: шаги для воспроизведения проблемы

начать containerA без-привелигированный

[корень@physicalhost /дома/ahao.мАч]
#докер запустить -д ... чистый хозяин reg.docker.xxxxx.com/mybase/centos7u2:latest
36cc8f6759294b2b2900b313c4f978737b11671b7ab2cc185e69fba3f6a9d10c

[корень@containerA /дома/ahao.мАч]
#докер экзек-это Баш 36cc8f6759294b2b2900b313c4f978737b11671b7ab2cc185e69fba3f6a9d10c 

изменение правил udev в containerA :

[корень@containerA /]
#кошка файле /etc/udev из/правил.Д/70-test_random.правила
Ядра=="случайный", группа="корень", режим="0665" варианты="last_rule"

перезагрузите этого containerA:

[корень@physicalhost /дома/ahao.мАч]
#докер перезапустить 36cc8f675929
36cc8f675929

containerA каталога /dev/случайных еще 0666 ,но не 0665

[корень@containerA /]
#тся как /dev/случайных
КВР-РВ-РВ - 1 корень корень 1, 8 августа 8 11:34 /Дев/Рандом

В этот момент я не знаю почему файл /etc/udev из/правил.д/ХХХ правил является недействительным в нет ... привилегии контейнер?

начать containerB с ... счастье

[корень@physicalhost /дома/ahao.мАч]
#докер запустить -д ... чистый хозяин --привилегированные reg.docker.xxxxx.com/mybase/centos7u2:latest

[корень@containerB /дома/ahao.мАч]
#докер экзек-это 1853437e8d2ea7018475b2328a10f1625da8b0c667941d69d912598325dc830d Баш

Теперь containerB каталога /dev/произвольного доступа по умолчанию тоже 0666,но я хочу изменить containerB из каталога /dev/случайный доступ к 0660, то мне нужно использовать правила udev в /etc/udev из/правил.д/ХХХ

[корень@containerB /]
#тся как /dev/случайных
КВР-РАО-РАО - 1 корень 1, 8 августа 8 11:40 /Дев/Рандом

[корень@containerB /]
#ВИМ файл /etc/udev из/правил.Д/70-test_random.правила
Ядра=="случайный", группа="корень", режим="0660", функции="last_rule"

Теперь physicalhost каталога /dev/произвольного доступа по умолчанию также 0666,но я изменить физическую каталога /dev/случайный доступ к 0777

[корень@physicalhost /]
#кошка файле /etc/udev из/правил.Д/70-test_random.правила
#Ядра=="случайный", группа="корень", режим="0777", функции="last_rule"

[корень@physicalhost /]
#тся как /dev/случайных
#КВР-РАО-РАО - 1 корень 1, 8 августа 8 11:40 /Дев/Рандом

перезагрузите containerB:

[корень@physicalhost /дома/ahao.мАч]
#докер перезапустить 1853437e8d2e
1853437e8d2e

как containerB каталога /dev/random и physicalhost каталога /dev/доступа менять!

[корень@containerB /]
#тся как /dev/случайных
КВР-РВ---- 1 корень корень 1, 8 августа 8 11:41 /Дев/Рандом

[корень@physicalhost /дома/ahao.мАч]
#тся как /dev/случайных
crwxrwxrwx 1 корень 1, 8 августа 8 11:43 /Дев/Рандом

Мои взгляды:

  1. Я думаю, что это имеет отношение к systemd не работает в докер прив
  2. при работе с ... льгот , systemd не работает, в настройки не должны изменять physicalhost каталога /dev/ХХХ открыть с помощью /etc/udev из/правил.д/ХХХ
  3. при работе с не ... льгот , systemd не работает в докер должен изменить контейнера на /dev/ХХХ доступ в /etc/udev из/правил.д/ХХХ
+364
Theteras77 27 сент. 2012 г., 17:40:06

Я не могу найти решения этой проблемы нигде. Как написать сценарий, который ждет процесс до конца, но если этот процесс не может завершиться в течение s секунд, скрипт будет посылать сигнал term, что процесс (названный 'арг'). Если после этого процесса до сих пор не может закончить в течение 5 секунд, скрипт убивает его с сигналом убивать. Может кто-нибудь помочь?

+362
S47T1M3P91 15 июн. 2013 г., 04:32:07

Сом - бесплатная программа для поиска, среди других. Я думаю, что это удовлетворяет все ваши требования, за исключением ультра-простая часть.

+277
abutaher 20 февр. 2010 г., 15:40:59

Можно ли запускать различные конфигурации conky на другое рабочее место?

Я проверил человек носатый, только чтобы найти настольные директива, но это не работает. Носатый все еще работает на каждом рабочем месте.

+161
Marcos Pousada 13 июн. 2010 г., 20:02:59

У меня есть хост с корнем пользователей и боб (который является членом корневая группа''). Экспорт файла предлагает тестовый каталог /на RW с no_root_squash. Тестовый каталог /770 имеет разрешения и /испытание/Т1 664 разрешения.

У меня есть узел B с корнем пользователей, и Боб. файл fstab-это установки для монтирования A:/test в /MNT/test и это прекрасно работает. Пользователь root может делать все в /MNT/тест/Т1. И Боб может прочитать и написать что-нибудь в /MNT/тест.

Но Боб не может читать или писать в /MNT/тест/Т1 почему?

Я пробовал добавлять боб в группу 'Корни' на B, но это не делает разницы. Боб имеет ID 1000 на обоих хостах

+116
Mehul Kadam 30 июн. 2015 г., 08:29:30

Этот Python скрипт должен делать то, что вы хотите:

#!/usr/Бен/ОКР питона
# -*- кодировка: в ASCII -*-
"""parse.py

Анализ пользовательского формата данных-файл.
Процессы первого файла, а потом выводит результаты.
"""

импорт Сыс

# Считывание данных из файла
файл = открыть(представление sys.аргумент argv[1], 'р')

# Инициализировать словарь, чтобы собрать ценности для каждой метки
метки = {}

# Инициализировать стек отслеживать состояние блока
стек = []

# Инициализируем счетчик для подсчета количества блоков
блок = 0

# Обработать файл
строка = файл.с readline()
в то время как line:

 # Удалить пробел
 линия = линия.полосы()

 # Стек должен быть пуст, когда мы начинаем новый блок
 если линии.ниже() == "старт":
 если стек:
 поднять исключение("недопустимый формат файла: плохой старт")
другое:
стек.добавить(строка)

 # В противном случае нижней части стека должен быть "Старт"
 # Когда мы дойдем до конца блока мы пустой стек
 конец прирастить # блок счетчика
 линия Элиф.ниже() == "конец":
 если стек[0].ниже() != "старт":
 поднять исключение("недопустимый формат файла: плохой конец")
другое:
 блок += 1
 стек = []

 # Другие строки должны прийти в последовательных меток пар ключ/значение 
 # т. е. значение строки должны следовать подряд ярлык 
 линия Элиф:

 # Если есть нечетное число строк данных в стек тогда
 # текущей строке должно быть значение строки - проверьте, что он соответствует
 # соответствующей строке ярлыка 
 если LEN(стек[1:])%2==1:

 _labels = стек[-1].сплит()
 _values = линия.сплит()

 # Убедитесь, что метка строке и значения строки имеют одинаковое количество
 # столбцов
 если LEN(_labels) == лен(_values):
стек.добавить(строка)
 на этикетке, значение в zip(_labels, _values):

 # Добавить новые метки к метки словарь
 если метка не в метках:
 этикетки[метка] = {
 "гуара": лен(этикетка)
}

 # Добавить значение текущего блока
 этикетки[метка][блок] = значение

 # Отслеживать максимальное значение для каждой метки
 # так что мы можем формата выходного
 если LEN(значение) > этикетки[метка]["седла"]:
 этикетки[метка]["седла"] = лен(значение)
другое:
 поднять исключение("недопустимый формат файла: метка/значение рассогласования")

 # Если есть четное число строк данных в стек тогда
 # текущей строки должны быть строки подписи - добавить его в стек
другое:
стек.добавить(строка)

 # Читать в следующей строке
 строка = файл.с readline()

# Построить строку заголовка 
заголовок = ""
для метки в этикетки:
 седла = этикетки[метка], ["смещ_по_столбцам"]
 заголовок += "{0: <{ширина}}".формат(этикетка, ширина=гуара+1)

# Построение рядов данных 
строк = []
Для я в диапазоне(0, блок):
 строка = ""
 для метки в этикетки:
 седла = этикетки[метка], ["смещ_по_столбцам"]
 строку += "{0: <{ширина}}".формат(этикетки[метка].вам(я, "НС"), ширина=гуара+1)
строк.добавить(строка)

# Печатать результаты
печати(заголовок)
для строк в строках:
печати(строки)

Вы можете запустить его примерно так:

питон file1.txt parse.py 

Он генерирует следующий вывод на примере данных:

метка1 метка2 метка3 label4 label5 label6 label7
значение1 значение2 значение3 значения4 value5 value6 value7
значение_а значение_б на уважаемых valueF valueE на
+109
Mani M 7 июн. 2016 г., 19:58:39

Как говорится в зип команды помочь запись:

Действие по умолчанию, чтобы добавить или заменить zip-файл записи из списка

Это объясняет, почему по умолчанию не предполагает удаление файлов в zip-файл, и причина, почему огромное.формат PDF по-прежнему в нем.

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

зип-Р temp.zip . ; МВ temp.zip ../data.zip
+43
JAIROS MAKANGANO 6 сент. 2010 г., 13:39:40

Были постоянные беспроводной доступ в интернет (неприятные) проблемы/баги в первые несколько лет моделей после перехода на Intel, и беспроводной доступ в интернет ОС/хз драйверы имеют встроенную решения для тех проблем, которые могут отсутствовать в драйвера с открытым исходным кодом.

Попробовать что-то загрузки, с какой последней версией OS/X, который поддерживает и увидеть, если есть какие-либо обновления прошивки пока не принято.

Интерфейс Bluetooth также находится в чипсет, попробуйте отключить на WiFi, чтобы работать лучше.

Что касается прочности передачи WiFi, определение страны, за исключением США также позволяет повысить уровень сигнала.

Наконец, последний вариант угробить могут использовать внешний WiFi адаптер.

+39
damson 14 авг. 2016 г., 02:01:45

У меня установка простой скрипт, как показано ниже:

sshpass -P $по пароль SSH -Т $имя_пользователя@$ір_адрес -п 30007 <<- ВФ > $save_file.на PCAP
ш
 тсрйитр -я eth5.1 -с 0 -н-В -У -Ш -
ВФ

СЕПГ -я '1д' $save_file.на PCAP

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

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

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

нарисовала@Дрю-Убунту-18:~/рабочий стол$ ./Script.sh 
тсрйитр: слушать на eth5.1, Ссылка-тип EN10MB (локальные сети), площадь захвата 65535 байт
Получил 665

И конечно, что "получил" счетчика увеличивается по мере увеличения пакетов фиксируются и передаются в мой локальный файл. К сожалению, единственный способ я нашел до сих пор, чтобы остановить это и вернуть мои терминала инициируют сочетание клавиш Ctrl+с.

Проблема здесь заключается в том, что это не только остановить tcpdump на удаленном компьютере, но она заканчивается скрипт, который работает на моей локальной машине.

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

Я пытался вместо того, чтобы установить вещи, как вместо следующее:

тсрйитр -я eth5.1 -с 0 -н-В -У -Ш - &
чтение -Н 1 -с; убить $!

Мыслительный процесс здесь заключается в том, что мои исходные данные, которые все равно будут проводки в stdout, и поэтому по-прежнему отображаться в мой локальный файл захвата. Однако, кажется, что когда я пытался запустить захват таким образом, С &, это на самом деле не позволю себе запостить еще что-нибудь в терминал (не уверен, что просто слишком много всякой дряни летит на все времена или что). Я даже попытался это локально и, кажется, пытается запустить сырьевой tcpdump для размещения в stdout не позволит что-нибудь еще случится.

Основываясь на этой информации, единственное, что я могу думать в этот момент, если есть, каким образом я могу использовать сочетание клавиш Ctrl+С , чтобы закрыть из tcpdump на удаленном компьютере, но держать мой скрипт по-прежнему работает. Какие-либо предложения, я могу попробовать? Или других способов идти об этом, что было бы гораздо логичнее?

+16
B Ervin 14 дек. 2015 г., 02:42:46

Это следует сделать трюк:

для F в файл*; у МВ $ф ${ф/${ф:4:8}/25032014}; сделано

Он заменяет строку между 4-й и 12-й символ с "25032014".

+13
Parabellum 29 сент. 2016 г., 15:59:45

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

$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