Скрипт с командами split & cat [duplicate]

Я хочу разделить image.jpg на части и снова объединить его. Я использовал следующие команды:

split -b 1440 image.jpg # It divides it into 6 parts.
cat xaa.jpg xab.jpg xac.jpg xad.jpg xae.jpg xaf.jpg > new-image.jpg 

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

0
задан 23 May 2018 в 00:38

1 ответ

Как насчет этого:

#!/bin/bash

# test whether first argument exists and is a regular file, if not exit
[ -f "$1" ] || exit 1

# put 1440 bytes per output file
split -b 1440 "$1" "$1". &&

# merge files again
cat "$1".* >"${1%/*}/new-${1##*/}"

Сценарий начинается с хижины, указывающей программу, с которой он должен быть выполнен, в этом случае это /bin/bash. Сначала мы тестируем на первый аргумент сценарию, чтобы быть регулярным файлом и выходом, если это не. split управляйте разделяет файл, данный как первый аргумент, и создает выходные файлы как image.jpg.aa для файла image.jpg. Только если split вышедший успешно, cat команда объединяет их снова использование bashРасширение Пути и Расширение Параметра и сохраняют вывод (т.е. объединенный файл) как new-image.jpg для файла image.jpg.

Сохраните этот сценарий как, например. splitmerge.bash, сделайте это исполняемым файлом с chmod +x splitmerge.bash и выполненный это с:

splitmerge.bash image.jpg

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

~/scripts/splitmerge.bash /home/thmk/test/image.jpg
1
ответ дан 29 October 2019 в 07:04

Другие вопросы по тегам:

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