Чтобы удалить все до (и включая )последнее :
в каждой строке, использовать
sed 's/.*://'
Например,
your_command | sed 's/.*://'
Если ваши данные (часть после метки, которую вы хотите сохранить )может содержать :
, вы хотите удалить все до первого:
в строке:
sed 's/^[^:]://'
Если у вас есть пробел после двоеточия (, как показано в вашем примере )и вы хотите удалить это тоже, просто добавьте пробел после двоеточия в команде:
sed 's/.*: //'
или
sed 's/^[^:]: //'
В конце концов я проанализировал строку времени из Google, чтобы поместить ее в busybox date
удобный формат(YYYY-mm-dd HH:MM:SS
). Надеюсь, кто-то найдет это полезным в будущем.
#!/bin/sh
monthnumber() {
month=$1
months="JanFebMarAprMayJunJulAugSepOctNovDec"
tmp=${months%%$month*}
month=${#tmp}
monthnumber=$((month/3+1))
printf "%02d\n" $monthnumber
}
G_DATE="$(curl -s --head http://google.com | grep '^Date:' | cut -d' ' -f 3-6)"
G_SPLIT=($(echo $G_DATE | tr " "))
BB_DATE="${G_SPLIT[2]}-$(monthnumber ${G_SPLIT[1]})-${G_SPLIT[0]} ${G_SPLIT[3]}"
date -s "$BB_DATE"
monthnumber()
функция взята изhttps://stackoverflow.com/a/41385862/9815377