Преобразование сценария Bash в сценарий AWK

Docker Swarm controla los flujos cifrados de forma predeterminada. También puede cifrar los datos mediante el cifrado de red.

1
11.07.2019, 23:09
2 ответа

Если версия dateв вашей системе SunOS не поддерживает аргумент +%s, затем с помощью awkисправить , что , хотя и не невозможно, но нецелесообразно.

Работает ли stat filename -c %Y? Если это не так, вам не повезло. Если это так, вы можете использовать его для получения текущего времени :

.
tmpfile="/tmp/apache_test$$"
if [ -e "$tmpfile" ]
then
    printf "%s exists; that’s odd.\n" "$tmpfile"
    exit
fi
if ! { touch "$tmpfile"  &&  CURTIME=$(stat "$tmpfile" -c %Y)  &&  rm "$tmpfile";}
then
    printf "Something went wrong.\n"
    exit
fi

Если ваша версия bash не поддерживает [ -e filename ], затем используйте вместо этого -f.

П.С. Вы должны указывать все свои переменные:

FILETIME1=$(stat "$LOG" -c %Y)
TIMEDIFF1=$(expr "$CURTIME" – "$FILETIME1")
0
27.01.2020, 23:41

В качестве замены stat вы можете использовать следующий perl oneliner:

perl -e 'print((stat("/tmp/a"))[10])'

Чтобы обойти текущую дату, вы можете использовать команду touchдля создания временного файла и чтения метки времени модификации из временного файла, например:

touch /tmp/currtime
CURRTIME=$(perl -e 'print((stat("/tmp/currtime"))[10])')
FILETIME=$(perl -e 'print((stat("/path/to/log"))[10])')
DIFFTIME=$(($CURRTIME - $FILETIME))
echo "Time difference is $DIFFTIME seconds"
#cleanup
rm /tmp/currtime

Справку о команде perl stat ()можно найти по адресу:https://perldoc.perl.org/functions/stat.html

1
27.01.2020, 23:41

Теги

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