Articles of shell

Разделение содержимого файла на файлы

У меня есть большой огромный файл, например chr1 1 G 300 chr1 2 A 500 chr1 3 C 200 chr4 1 T 35 chr4 2 G 400 chr4 3 C 435 chr3 1 G 300 chr3 2 A 500 chr3 3 C 200 chr3 1 T 35 chr3 2 G 400 chr6 3 C 435 […]

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

Предположим, у меня есть конвейер reader | processor | writer reader | processor | writer Похоже, что по умолчанию в случае сбоя processor или модуля записи в лучшем случае конвейер завершится ошибкой только после того, как устройство чтения попытается отправить данные процессору. Мне нужно, чтобы весь трубопровод вышел из строя немедленно, если какой-либо из его […]

Присоединитесь к массиву для динамического создания JSON

Объявление JSON в bash отчасти раздражает, потому что вам нужно избегать большого количества символов. Скажем, у меня есть такой массив: value1=”foo” value2=”bar” arr=(“key1” “$value1” “key2” “$value2″) Есть ли способ как-то объединить массив с символами “:” и “,”. Единственное, о чем я могу думать, это цикл, в который вы добавляете правильные символы, что-то вроде этого: data=””; […]

Как избежать «неоднозначного перенаправления» при выполнении команды через ssh

Я пытаюсь выполнить скрипт на удаленном сервере через SSH. команда должна перейти в фоновый режим и продолжить работу после выхода из системы. Результат команды должен быть перенаправлен в out.log на удаленном сайте. процесс ssh должен завершиться без ожидания команды Удаленная shell csh Я пробовал различные версии (цитирование, фигурные скобки …) следующей строки ssh target.host “nohup […]

Дедуплицированные ошибочные команды оболочки

Хорошо, могу поспорить, что я не единственный, кто набирает ssh в команде оболочки, иди посмотри где-нибудь еще, какое имя хоста, вернись и ssh [hostname] , который становится ssh ssh [hostname] . Затем вы просто исправляете это и позже повторяете ту же ошибку с cd , git , ls и т. Д. Годами. Затем десятилетия. Я […]

/ usr / bin / env: ‘awk -f’: нет такого файла или каталога

Linux shylock-archinux 4.15.15-1-ARCH # 1 ПРЕДСТАВЛЕНИЕ SMP Сб 31 марта 23:59:25 UTC 2018 x86_64 GNU / Linux Моя машина выше. Кто-нибудь знает, что случилось? Сценарий с Шебангом #! /usr/bin/env awk -f #! /usr/bin/env awk -f не работает? Я называю это ./script.awk inputfile , он должен быть таким же, как вручную вызывать awk -f ./script.awk inputfile […]

Ошибка монтирования rclone в сценарии оболочки

Я использую rclone для монтирования моих папок облачного хранилища. Я использовал crontab для запуска сценария оболочки для монтирования этих дисков: @reboot /home/user/test.sh в моем файле crontab. Сценарий оболочки: #!/bin/bash rclone mount OneDrive: /home/user/Documents/OneDrive & rclone mount Drive: /home/user/Documents/Drive& rclone mount Dropbox: /home/user/Documents/Dropbox& К сожалению, мой OneDrive не монтируется. Если я повторю операцию монтажа в терминале, […]

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

У меня есть файл, который хранит некоторые команды, которые выглядят так: sudo PYSPARK_DRIVER_PYTHON=/bin/python2.7 PYSPARK_PYTHON=/bin/python2.7 SPARK_CONF_DIR=/configuration/spark2 /spark2.1/bin/spark-submit –driver-memory 2g –executor-memory 4g –num-executors 100 –jars /lib/json-serde-1.3.7-jar-with-dependencies.jar Приведенная выше команда будет выполняться только в том случае, если к ней прикреплено имя файла (например, file.py ). Итак, если бы я запустил это в командной строке, я бы ввел sudo […]

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

Я прошел через различные решения для переименования, но ни один из них не нашел в этой ситуации. Я должен переименовать файл oldfilename в newfilename с такими условиями Префикс жестко закодированной строки, такой как “Pre_String” с последующим добавлением части старого имени файла до любого специального символа, если таковой имеется с последующим добавлением даты, которая была рассчитана […]

Выполнение команд, которые выводятся на стандартный вывод

Как я выполняю команды, которые я печатаю на стандартном выводе, используя, например, awk, я использую awk для его вывода: grep -B100 some file1.tcl grep -B100 some file2.tcl Затем сохраните его в файле .sh, а затем укажите исходный файл. Можно ли передать его куда-нибудь, чтобы команды выполнялись? awk ‘{print xx}’ | pipeline