Возможный дубликат Есть ли способ заставить mv создать каталог для перемещения, если он не существует? .
Вы можете использовать сценарий bash и псевдоним, чтобы создать для этого «новую команду».
cmv.sh
#!/bin/bash
mkdir --parents "$2"; mv "$1" "$_"
И в ~/.bashrc
добавить строку:
alias cmv="/path/to/cmv.sh"
И тогда вы можете использовать его как:
~# cmv **/*.zip destination
И место назначения будет создано.
Проблема с вашим собственным конвейером заключается в том, что вы не понимаете, что вывод из grep
состоит из нескольких строк , с одним целым числом в каждой строке. Числа выводятся в одной строке только потому, что вы используете $price
без кавычек.
Если вам нужна средняя цена, т.е. сумма после тега avg:
, то проще всего будетawk
:
curl -s 'https://gbp.rate.sx/btc?T' |
awk '/^avg:/ { print $2 }'
Приведенный выше код awk
печатает второе поле с разделителями -пробелами из каждой строки, начинающейся с текста avg:
.
Это даст вам что-то вроде £26421
. Если вам нужна эта сумма без символа фунта, используйте print substr($2,2)
вместо print $2
.
Если вы хотите сделать это, используя grep
и cut
, тогда сделайте что-то вроде
curl -s 'https://gbp.rate.sx/btc?T' |
grep '^avg:' | cut -d ' ' -f 2
Чтобы удалить из этого символ фунта, просто передайте это через cut -c 2-
или tr -d '£'
в конце.
Обратите внимание: чтобы просто вывести результат, нет необходимости сначала помещать его в переменную.