Оцените любую помощь и извините, если моя терминология неверна.работает 2 команды unix в одной строке в пакетном файле
То, что я пытаюсь сделать, это написать scrpit/bat-файл, который будет делать следующее:
копии 1 каталог (и подкаталоги) из точки А, в точку Б.
Тогда в pointB (и подкаталогах) разархивировать файлы, которые дадут * .csv файлы
Затем в pointB (и подкаталоги) Я хочу удалить некоторые строки из всех этих файлов CSV
Эта команда Unix, работать на Cygwin, будет копировать все файлы из/cygdrive/v/pointA/* в текущий каталог. (Т.е. точка является текущий рабочий каталог)
cp /cygdrive/v/pointA/* .
Эта команда Unix, работать на Cygwin, будет проходить через все файлы в каталоге и подкаталогах, которые заканчиваются .zip и разархивировать их
find -iname *.zip -execdir unzip {} \;
Эта команда unix, запущенная на cygwin, будет проходить через все файлы в каталоге и подкаталогах, которые заканчиваются на .csv
Для каждого файла он удаляет 1-й 6 строк и последнюю строку, а это возвращаемый файл.
find ./ -iname '*.csv' -exec sed -i '1,6d;$ d' '{}' ';'
Я искал, чтобы сделать это в один файл сценария/летучей мыши, но у меня возникли проблемы с первой командой находят у меня возникли проблемы с находкой и распакуйте команды на одной линии, и мне интересно, как и в случае это может быть сделано
chdir C:\pointA
C:\cygwin\bin\cp.exe /cygdrive/v/pointB/* .
::find -iname *.zip -execdir unzip {} \;
::find ./ -iname '*.csv' -exec sed -i '1,6d;$ d' '{}' ';'
я попробовать что-то вроде этого:
C:\cygwin\bin\find.exe -iname *.zip -execdir C:\cygwin\bin\unzip.exe {} \;
, но я получаю следующее:
/usr/bin/find: missing argument to `-execdir'
Может ли кто-нибудь посоветовать, если/как это можно сделать?
ТКС. Я был бы новичком в оболочке bash, поэтому я изучу эту опцию (но конкретные рекомендации приветствуются), но я действительно интересовался/надеялся на это, используя команды, которые у меня уже есть, но моя неопытность, вероятно, показывается. – HattrickNZ
Эти * * команды, которые у вас уже есть. – tripleee
Yup, вы можете начать с простого сценария bash одной строки и добавить к нему, пока он не станет самой мощной программой. Обычно, как только сценарий оболочки будет иметь 4 экрана или больше по длине, мне жаль, что я не написал его в Python, но _never_ однажды мне захотелось записать его в пакетном скрипте cmd.exe Windows. –