Я пытаюсь сделать инструмент командной строки из сценария bash.Это очень просто:
grep ">" in_file >> out_file.
Поэтому я хочу скопировать все строки, содержащие '>', из первого файла во второй.Мне нужен инструмент, который я мог бы запустить из командной строки следующим образом:
./tool.sh -input in_file -output out_file
-input и -output здесь для ключей.
Я попробовал код ниже:
while getopts "i:o:"
do
case $Option in
i) input=$OPTARG;;
o) output=$OPTARG;;
esac
done
grep -n '>' input >> output
Но я получил ошибку: tool: input: Нет такого файла или каталога.
Что здесь не так?А также я хочу, чтобы ключ «in» мог принимать более одного аргумента.Как я могу это сделать ?Наверное, я не совсем правильно понимаю, как работает getopts, но я не нашел хорошего описания.