Для этого случая использования (ежедневное зеркалирование) вы должны установить rsync daemon rsyncd от Cygwin, и не беспокоиться о ssh/ftp/samba. Вот хороший способ объяснения установки в Windows и CentOS.
Max_Arg_strlen только при вызове на вызов Внешние программы. «Для» является частью синтаксиса Bash, и поэтому Bash будет обрабатывать это напрямую. И да, он запускает команду SEQ и зафиксирует весь STDOUT перед выполнением замены в оператор «для».
-121--111639-Я получил такую же проблему и внедрил решение:
с использованием SED
для разбора трубопроводных данных датчиков
с регулярными выражениями результата добавлено к файлу журнала.
echo -n "$ (дата +"% h:% m:% s ")
.
Впродуется в SED
, чтобы разбирать каждую строку, чтобы найти температуру, поиск ° C
. SED
. Теперь строка Свернувшись на три части: имя датчика в начале с толстой кишки и пробела ^ [A-ZA-Z0-9] *: \ S *
, температура, состоящая из знака, чисел и точек \ ([0-9. + -] * \)
и остальное до конца строки . * $
. Вторая часть помечена как ссылка на использование скобок. SED
, чтобы удалить разрывы линии. Нажмите для деталей Полученный пакетный скрипт:
# Printing the names of the columns as first row in file
echo "Time; temp1; temp2; Physical id 0; Core 0; Core 1; Core 2; Core 3; SIO Temp; temp3" > Temperatures.log
while true
do
# Printing the time and all temperatures to stdout
echo -n "$(date +"%H:%M:%S"): "
sensors | sed -n "/°C/p" | sed "s/^[a-zA-Z0-9 ]*:\s*\([0-9.+-]*\).*$/\1/" | sed ':a;N;$!ba;s/\n/;\t/g'
# Logging time as UNIX time and temperatures to file
echo -n "$(date +"%s"); " >> Temperatures.log
sensors | sed -n "/°C/p" | sed "s/^[a-zA-Z0-9 ]*:\s*\([0-9.+-]*\).*$/\1/" | sed ':a;N;$!ba;s/\n/;\t/g' >> Temperatures.log
# Sleeping for X seconds
sleep 5
done