как считать символы до/после первого пробела в строке?

Coloque el script en cuestión en sucrontab:

0 1 * * 1 [[ "$(/bin/date +\%d)" -le 7 ]] && /path/to/script.sh

Todos los lunes a las 0100, verificará si la fecha es menor o igual al séptimo y, de ser así, ejecutará el script.

La ventaja de usar esto es que es muy fácil reprogramar para los martes sin tener que editar el guión.

1
20.06.2019, 22:50
2 ответа

Если переменная содержит строку:

str="Iam a bunny"

Это может быть так же просто, как:

$ before="${str%% *} "; after=${str#* }
$ echo "\"$before\"=${#before} \"$after\"=${#after}"
"Iam "=4 "a bunny"=7
0
27.01.2020, 23:41

Вы можете readв несколько переменных из здесь -строки:

$ str="Iam a bunny"
$ read -r first rest <<<"$str"
$ echo "${#first} ${#rest}"
3 7

Если хотите, вы можете добавить пробел к первому лайку first+=" ".

Этот метод не допускает многократных пробелов между словами.

Возможно, более надежным методом было бы регулярное выражение:

$ if [[ $str =~ ([^[:blank:]]+[[:blank:]]+)(.*) ]]; then
    first=${BASH_REMATCH[1]} rest=${BASH_REMATCH[2]}
  fi
$ echo "${#first} ${#rest}"
4 7
1
27.01.2020, 23:41

Теги

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