Вопросы с тегом «shell-script»

8
inotifywait - получить старое и новое имя файла при переименовании

Я ищу надежный способ обнаружить переименование файлов и получить как старые, так и новые имена файлов. Это то, что я до сих пор: COUNTER=0; inotifywait -m --format '%f' -e moved_from,moved_to ./ | while read FILE do if [ $COUNTER -eq 0 ]; then FROM=$FILE; COUNTER=1; else TO=$FILE; COUNTER=0; echo...

8
Передать / перенаправить группу команд

В настоящее время я использую следующую настройку для перенаправления вывода нескольких команд: echo "Some normal commands" ( echo "Error: something happened" echo "Warning: this incident will be logged" ) >> logfile echo "More normal commands" Это довольно полезно, и это также работает с...

8
Подсчет элементов в файле с разделителями

У меня есть сценарий оболочки, который используется find -print0для сохранения списка файлов для обработки во временный файл. Как часть журнала я хотел бы вывести количество найденных файлов, и поэтому мне нужен способ получить это количество. Если бы эта -print0опция не использовалась для...

8
Изменить регистр n-й буквы в строке

Я хочу изменить случай п-й буквы строки в BASH(или любых других инструментов * NIX, например sed, awk, tr, и т.д.). Я знаю, что вы можете изменить регистр целой строки, используя: ${str,,} # to lowercase ${str^^} # to uppercase Можно ли изменить регистр 3-й буквы «Тест» в верхний регистр? $ export...

8
Переменная Bash $ {0 ## * /}

Я пытаюсь понять переменную, с ${0##*/}которой я столкнулся в bash-скрипте. Я понимаю, что $0содержит имя или путь сценария, а затем ##работает как в ${parameter##pattern}( источник ). Но я не понимаю, что /здесь делает. Я знаю только этот синтаксис с двумя слешами:${parameter/pat/string} Когда я...

8
Какая команда (команды) будет вводить текстовый файл с разделителями табуляции и обрезать каждую строку до 80 символов?

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

8
Сглаживание структуры папок

У меня есть эта структура папок: ├── foo1 │   ├── bar1.txt │   └── bar2.txt ├── foo2 │   ├── bar3.txt │   └── bar4 with a space.txt └── foo3 └── qux1 ├── bar5.txt └── bar6.txt что я хотел бы добавить к этому, с подчеркиванием между каждым уровнем папки: ├── foo1_bar1.txt ├── foo1_bar2.txt ├──...

8
Разделить вход для другой команды и объединить результат

Я знаю, как объединить результат другой команды paste -t',' <(commanda) <(commandb) Я знаю, что один и тот же вход для другой команды cat myfile | tee >(commanda) >(commandb) Теперь, как объединить эти команды? Так что я могу сделать cat myfile | tee >(commanda) >(commandb) |...

8
Могу ли я изменить способ отображения выбранных параметров?

Я работаю с select и case в bash. В настоящее время у меня есть девять опций, которые создают красивую, аккуратную сетку опций 3х3, но она выглядит так: 1) show all elements 4) write to file 7) clear elements 2) add elements 5) generate lines 8) choose file 3) load file 6) clear file 9) exit Я бы...

8
Несколько Шебангов в одном файле Bash

У меня есть скрипт от другого человека, который имеет вид (примечание: это один файл): #!/bin/bash some commands some commands #!/bin/bash some commands some commands #!/bin/bash some commands some commands Мне интересно, какова цель второго и третьего Шебанга? Это по ошибке или...

8
Как сохранить статус последнего выхода после теста

Можно ли сохранить статус завершения последней команды ( $?) без изменений после теста? Например, я хотел бы сделать: command -p sudo ... [ $? -ne 1 ] && exit $? Последний exit $?должен возвращать статус выхода sudo, но вместо этого он всегда возвращает 0(код завершения теста). Возможно ли...

8
Всегда ли [«$ VAR» = «»] и [-z «$ VAR»] эквивалентны?

Мой код выглядит примерно так: VAR="" while [ -z "$VAR" ]; do VAR=$( command | grep "important_string" ) done Поэтому я хочу опрашивать вывод command, пока не important_stringпоявится и не введен в $VAR. Есть ли функциональная разница между [ -z "$VAR" ]и [ "$VAR" = ""...

8
awk не заканчивается

У меня есть следующий код в файле с именем awktest1.awk: #!/bin/awk -f BEGIN{print "start"} {print $2, "\t", $5} END{print "end"} employee.txt где employee.txtсодержит следующие данные: 100 Thomas Manager Sales $5,000 200 Jason Developer Technology $5,500 300 Sanjay Sysadmin Technology $7,000 400...

8
Как программно определить вкус awk (например, gawk vs nawk)

Я использую приложение командной строки, которое по сути представляет собой набор сценариев оболочки bash. Приложение было написано для запуска на BSD / OSX, а также на Linux. Один из скриптов опирается на awk. Он содержит две команды awk: одна написана для nawk (стандартная реализация BSD awk) и...

8
Есть ли способ получить зашифрованный (GPG) файл на лету в сценарии?

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

8
Аргумент разбора скрипта Bash с кавычками

Пожалуйста, рассмотрите этот простой скрипт с именем test : #!/bin/bash echo $1 и следующие команды и вызовы: $ echo "A B" A B $ echo ""A B"" A B $ echo """A B""" A B $ echo """A B""" A B $ ./test "A B" A B $ ./test ""A B"" A $ ./test """A B""" A B $ ./test """"A B"""" A Может кто-нибудь объяснить,...

8
Выполнение команды mail изнутри функции вызывает «бомбу разветвления»

Когда я пытаюсь выполнить mailфункцию изнутри скрипта bash, она создает нечто похожее на бомбу-вилку. Чтобы уточнить, это создает проблему: #!/bin/bash mail() { echo "Free of oxens" | mail -s "Do you want to play chicken with the void?" "example@example.org" } mail exit 0 Иногда вы можете просто...